將兩個有序鏈表合并為一個新的有序鏈表并返回。新鏈表是通過拼接給定的兩個鏈表的所有節(jié)點組成的。
輸入:1->2->4, 1->3->4
輸出:1->1->2->3->4->4
public static LinkedNode orderListMerge(LinkedNode node1, LinkedNode node2) {
if (node1 == null) {
return node2;
}
if (node2 == null) {
return node1;
}
//遞歸獲取下一個結點
LinkedNode node;
if (node1.item <= node2.item) {
node = new LinkedNode(node1.item);
node.next = orderListMerge(node1.next, node2);
} else {
node = new LinkedNode(node2.item);
node.next = orderListMerge(node1, node2.next);
}
return node;
}
private static class LinkedNode {
private int item;
private LinkedNode next;
public LinkedNode() {
}
public LinkedNode(int item) {
this.item = item;
}
public LinkedNode(int item, LinkedNode next) {
this.item = item;
this.next = next;
}
}