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

来源:互联网 发布:征途2怎么延时网络 编辑:程序博客网 时间:2024/05/09 07:46

//打印两个有序链表的公共部分public class getSameList{       //获得两个有序链表的公共部分    public static void GetSameList(int[] head1,int[] head2)    {      if(head1==null||head2==null)      {      return;      }      for(int i=0;i<head1.length;i++)      {        for(int j=0; j<head2.length;j++)        {             if(head1[i]<head2[j])             {             break;             }              if(head1[i]>head2[j])             {             continue;             }             System.out.print(head1[i]+" ");        }      }          }public static void main(String []args){       int []head1={1,3,5,7,9};       int []head2={2,3,5,6,8};       GetSameList(head1,head2);}}



左神的代码:

public class Problem_01_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.print("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.print(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);}}

  

原创粉丝点击