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


    要求:

           给定两个有序链表的头指针head1和head2, 打印两个链表的公共部分

    思路:

    if 【head1】>【head2】,【head1】往下移动;

    if 【head1】<【head2】,【head2】往下移动;

    if 【head1】=【head2】,打印这个值,【head1】【head2】都往下移动;

    if 【head1】=【head2】,打印这个值,【head1】【head2】都往下移动;

    public class Problem01_PrintCommonPart {
        public static class Node{
            public int value;
            public Node next;
            public Node(int data){
                this.value = data;
            }        
        }
        
        public static void printCommonPart(Node head1, Node head2){
            System.out.println("Common part:");
            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.println(head1.value + "");
                    head1 = head1.next;
                    head2 = head2.next;                
                }
            }
            System.out.println();
        }
        
        public static void printLinkedList(Node node) {
            System.out.print("Linked List: ");
            while (node != null) {
                System.out.print(node.value + " ");
                node = node.next;
            }
            System.out.println();
        }
        
        
    
        public static void main(String[] args) {
            Node node1 = new Node(2);        
            node1.next = new Node(3);
            node1.next.next = new Node(5);
            node1.next.next.next = new Node(6);
    
            Node node2 = new Node(1);
            node2.next = new Node(2);
            node2.next.next = new Node(5);
            node2.next.next.next = new Node(7);
            node2.next.next.next.next = new Node(8);
    
            printLinkedList(node1);
            printLinkedList(node2);
            printCommonPart(node1, node2);
    
        }
    
    }

    运行结果:

    Linked List: 2 3 5 6 
    Linked List: 1 2 5 7 8 
    Common part:
    2
    5
  • 相关阅读:
    python中的单向链表实现
    Django中的Form表单验证
    顺序表的原理与python中的list类型
    HttpServletRequest get
    maven压缩js css
    left join inner join 区别
    Spark运行模式:cluster与client
    java 变量 final 小结
    eclipse svn 删除不了项目,合并不了问题
    hadoop HDFS常用文件操作命令 (转)
  • 原文地址:https://www.cnblogs.com/xiyuan2016/p/6831594.html
Copyright © 2020-2023  润新知