Leetcode 21 合併有序鍊錶

2021-09-25 07:27:04 字數 643 閱讀 3412

題目簡介:將兩個有序鍊錶合併為乙個新的有序鍊錶並返回。新煉表是通過拼接給定的兩個鍊錶的所有節點組成的。

示例:輸入:1->2->4, 1->3->4

輸出:1->1->2->3->4->4

#include using namespace std;

/** definition for singly-linked list.

* struct listnode

* };

*/struct listnode

};class solution

else if(l2 == null)

else

else}}

};int main()

cout << n->val;

return 0;

}

需要注意的點:

遞迴思想:

l1的值比較小或者兩個值相等,就把l1->next和l2合併,放進l1->next,返回l1;

l2的值比較小,就把l1和l2->next合併,放進l2->next,返回l2;

LEETCODE 21合併有序鍊錶

將兩個有序鍊錶合併為乙個新的有序鍊錶並返回。新煉表是通 過拼接給定的兩個鍊錶的所有節點組成的。1.迭代法,比較原兩煉表中元素大小後將元素插入新的鍊錶中 listnode mergetwolists listnode l1,listnode l2 else prev prev next prev ne...

LeetCode21 合併2個有序鍊錶

鍊錶已經有序,可使用雙指標l1和l2,分別指向第乙個和第二個鍊錶。再設定乙個指向新煉表頭節點的指標,以及維護乙個指向新鍊錶最後乙個節點的指標。使用雙指標遍歷遍歷兩個鍊錶,比較後將節點新增到新鍊錶的末尾。反思 知道要使用雙指標,但是並未想到設定哨兵和尾指標 指向新鍊錶 一開始的思路是將第二個鍊錶的節一...

leetcode21 合併兩個有序鍊錶

將兩個有序鍊錶合併為乙個新的有序鍊錶並返回。新煉表是通過拼接給定的兩個鍊錶的所有節點組成的。示例 輸入 1 2 4,1 3 4 輸出 1 1 2 3 4 4 思路 每次判斷兩個鍊錶的頭部小的數值,訪問小的,並讓該鍊錶往後移動。注意 注意鍊錶走完,為空的情況即可。遇到的問題 一開始不太理解鍊錶,返回e...