//打印两个有序链表的公共部分
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);
}
}