题目:
有两个有序链表的头指针head1,head2,打印这两个链表的公共部分:
Node节点:
package LinkedList;
/**
* @author:MindMrWang
*2017年11月21日
*:function:链表节点
*/
public class Node {
public int value;
public Node next;
public Node() {
}
public Node(int data) {
this.value = data;
}
}
//打印方法
public static void printSamePart(Node head1,Node head2) {
while(head1!=null&&head2!=null) {//当不为空
if(head1.value==head2.value) {//两个值相等时,打印并且head1,head2指向下一个节点。
System.out.println(head1.value);
head1 = head1.next;
head2 = head2.next;
}else if(head1.value>head2.value) {//若head1的Value大那么head2指向下一个
head2 = head2.next;
}else {
//若head2的Value大那么head1指向下一个
head1 = head1.next;
}
}
System.out.println();
}
参考书籍《程序员代码面试指南》