算法 - 链表 - 打印两个有序链表的公共部分
问题二 打印两个有序链表的公共部分
给定两个有序链表的头指针 head1 和 head2,打印两个链表的公共部分。
思路:类似于比较两个有序数组共同具有的有序部分。
public static void printCommonPart(Node head1, Node head2) {
if (head1 == null || head2 == null) return;
while (head1 != null && head2 != null) {
if (head1.val == head2.val) {
System.out.print(head1.val + " ");
head1 = head1.next;
head2 = head2.next;
} else if (head1.val < head2.val) {
head1 = head1.next;
} else {
head2 = head2.next;
}
}
}