- 问题描述
打印两个有序链表的公共部分。 - 解决方案
设置两个指针,如果值相同则打印,双指针同时往下走,不相同则值小的往下走,直至达到某一个链表的结尾。
/**
* 打印两个有序链表的公共部分
* @param head1
* @param head2
*/
public static void printCommonPart(Node head1, Node head2){
while(head1 != null && head2 != null){
if(head1.value < head2.value){
head1 = head1.next;
}
else if(head1.value > head2.value){
head2 = head2.next;
}
else{
System.out.print(head1.value + " ");
head1 = head1.next;
head2 = head2.next;
}
}
}