本题要求实现一个函数,将两个链表表示的递增整数序列合并为一个非递减的整数序列。
输入样例:
1 3 5
2 4 6 8 10
输出样例:
1 2 3 4 5 6 8 10
public MyLinkNode merge(MyLinkNode node1, MyLinkNode node2){
MyLinkNode dummyHead = new MyLinkNode();
MyLinkNode tempNode = dummyHead;
while (node1 != null || node2 != null){
int data = 0;
if(node1 != null && node2 != null){
data = Math.min(node1.data, node2.data);
}else if(node1 == null && node2 != null){
data = node2.data;
}else{
data = node1.data;
}
if(node1 != null && data == node1.data){
tempNode.next = node1;
tempNode = tempNode.next;
node1 = node1.next;
}else if(node2 != null && data == node2.data){
tempNode.next = node2;
tempNode = tempNode.next;
node2 = node2.next;
}
}
return dummyHead.next;
}
class MyLinkNode{
int data;
MyLinkNode next;
@Override
public String toString() {
MyLinkNode temp = this;
StringBuilder sb = new StringBuilder();
while (temp != null){
sb.append("[data: " + temp.data + "]");
temp = temp.next;
}
return sb.toString();
}
}