public class TestDemo {
public static Node mergeTwoLists(Node l1, Node l2) {
Node newHead = new Node(-1);
Node tmp = newHead;
while (l1 != null && l2 != null) {
if(l1.data<l2.data){
tmp.next=l1;
l1=l1.next;
tmp=tmp.next;
}
else{
tmp.next=l2;
l2=l2.next;
tmp=tmp.next;
}
}
if(l1!=null){
tmp.next=l1;
}
else{
tmp.next=l2;
}
return newHead.next;
}
public static void main(String[] args) {
SingleList singleList1=new SingleList();
singleList1.addFirst(2);
singleList1.addFirst(5);
singleList1.addFirst(4);
SingleList singleList2=new SingleList();
singleList2.addFirst(1);
singleList2.addFirst(3);
singleList2.addFirst(6);
Node ret= mergeTwoLists(singleList1.head,singleList2.head);
singleList2.show1(ret);
}
}
class Node {
public int data;
public Node next;
public Node(int data) {
this.data = data;
}
}
public class SingleList {
public Node head;
public void addFirst(int data) {
Node node = new Node(data);
if (this.head == null) {
this.head = node;
return;
} else {
node.next = this.head;
this.head = node;
}
}
public void show() {
Node cur = this.head;
while (cur != null) {
System.out.print(cur.data + " ");
cur = cur.next;
}
System.out.println();
}
public void show1(Node newHead){
Node cur=newHead;
while(cur!=null){
System.out.print(cur.data+" ");
cur=cur.next;
}
System.out.println();
}
}