《程序员代码面试指南》第二章 链表问题 打印两个有序链表公共部分

题目

打印两个有序链表公共部分, 链表元素值从小到大

java代码

/**
 * @Description:打印两个有序链表公共部分
 * @Author: lizhouwei
 * @CreateDate: 2018/4/6 8:44
 * @Modify by:
 * @ModifyDate:
 */
public class Chapter2_1 {

    //打印
    public void printCommonNode(Node head1, Node head2){
        while (head1!=null && head2!=null){
            if(head1.vlaue<head2.vlaue){
                head1 = head1.next;
            }else if(head1.vlaue>head2.vlaue){
                head2 = head2.next;
            }else{
                System.out.print(head1.vlaue+" ");
                head1 = head1.next;
                head2= head2.next;
            }
        }
    }

    //测试
    public static void main(String[] args) {
        Chapter2_1 chapter = new Chapter2_1();
        Link link1= new Link();
        Link link2= new Link();
        //构造两个链表
        for (int i = 10; i >0 ; i--) {
            link1.add(i);
            link2.add(i + 5);
        }
        chapter.printCommonNode(link1.head,link2.head);
    }
}