2つの秩序あるチェーンテーブルを新しい秩序あるチェーンテーブルに統合する
1277 ワード
この問題のやり方は同時に2つのチェーンテーブルを遍歴して、誰が現在のデータが小さいか、尾挿法を使ってこのノードを新しいチェーンテーブルに挿入して、最後に長いチェーンテーブルの残りの数をチェーンテーブルに挿入します
public Node mergeTwoLists(Node l1,Node l2){
if (l1 == null) return l2;
if (l2 == null) return l1;
Node result = null;
Node last = null;
Node cur1 = l1;
Node cur2 = l2;
while (cur1 != null && cur2 != null) {
if (cur1.val <= cur2.val) {
Node next = cur1.next;
if (result == null) {
result = cur1;
} else {
last.next = cur1;
}
last = cur1;
cur1 = next;
} else {
Node next = cur2.next;
if (result == null) {
result = cur2;
} else {
last.next = cur2;
}
last = cur2;
cur2 = next;
}
}
if (cur1 != null) {
last.next = cur1;
} else {
last.next = cur2;
}
return result;
}