题目 给定两个有序链表的头指针head1和head2,打印两个 链表的公共部分。
思路 类似与归并排序中的外排。
package algorithm.section4;
public class PrintCommonPart {
public static class Node{
int value;
Node next;
public Node(int value){
this.value = value;
}
}
public static void commonPart(Node head1, Node head2){
while (head1 != null && head2 != null){
if (head1.value == head2.value){
System.out.print(head1.value + " ");
head1 = head1.next;
head2 = head2.next;
}
else if (head1.value < head2.value)
head1 = head1.next;
else head2 = head2.next;
}
}
public static void main(String[] args){
Node node1 = new Node(1);
node1.next = new Node(2);
node1.next.next = new Node(3);
node1.next.next.next = new Node(6);
Node node2 = new Node(2);
node2.next = new Node(6);
node2.next.next = new Node(7);
commonPart(node1, node2);
}
}