打印两个有序链表的公共部分

【题目】
给定两个有序链表的头指针head1和head2,打印链表的公共部分。
【解析】
本题难度系数低,因为是有序链表,所以从两个链表的头开始进行如下判断:
1:如果head1的值小于head2,则head1往下移动
2:如果head2的值小于head1,则head2往下移动
3:如果head1的值与head2的值相等,就直接打印该值,然后head1和head2都往下移动。
4:head1或者head2有任何一个移动到null,整个过程就结束。
【代码实现】

public class Node {

    public int value;
    public Node next;
    
    public Node(int data){
        this.value = data;
    }
    
    
}

public class Main {

    public static void main(String[] args) {
        Node head1 = new Node(1);
        Node node2 = new Node(22);
        Node node3 = new Node(32);
        Node node4 = new Node(42);
        Node node5 = new Node(52);
        Node node6 = new Node(62);
        head1.next = node2;
        node2.next = node3;
        node3.next = node4;
        node4.next = node5;
        node5.next = node6;
        node6.next = null;
        Node head2 = new Node(1);
        Node node22 = new Node(2);
        Node node23 = new Node(33);
        Node node24 = new Node(42);
        Node node25 = new Node(52);
        Node node26 = new Node(6);
        head2.next = node22;
        node22.next = node23;
        node23.next = node24;
        node24.next = node25;
        node25.next = node26;
        node26.next = null;
        printCommonPart(head1,head2);
        
    }
    /**打印链表公共部分*/
    public static void printCommonPart(Node head1,Node head2){
        System.out.println("Common Part:");
        while (head1.next != null && head2.next != null) {
            /**1如果head1.value<head2.value*/
            if (head1.value < head2.value) {
                head1 = head1.next;
            } else if (head2.value < head1.value) {
                head2 = head2.next;
            } else {
                System.out.print(head1.value+" ");
                head1 = head1.next;
                head2 = head2.next;
            }
        }
        System.out.println();
    }
    
}





©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 给定两个有序链表的头指针head1和head2,打印两个链表公共部分1.如果head1的值小于head2,则hea...
    第六象限阅读 114评论 0 0
  • 201. M-Q型显影液组合是()。 (2.0 分) A. 米吐尔与菲尼酮的组合 B. 对苯二酚和菲尼酮的组合 C...
    我们村我最帅阅读 3,621评论 0 4
  • 1. 下列叙述错误的是()。 (2.0 分) A. 质量管理包括QA和QC一切活动的全部过程 B. 影像质量是指对...
    我们村我最帅阅读 3,927评论 0 8
  • 我莫名喜歡的天空之城。我以為滬都上方梧桐落葉很著名,比起深冬時節凋零許多,而當夜幕降臨,為了冷色瀟瀟風氣中,紅光和...
    鱼子的叨叨阅读 277评论 0 0
  • 早上,带着幼儿去菜市买菜,一如菜场门口,就见到到好多挎着篮子卖樱桃的农人,大声吆喝,快来买樱桃咯!买樱桃咯!热闹得...
    周姝帆阅读 421评论 5 8