LeetCode 21 合併兩個有序鍊錶

2021-09-25 23:58:39 字數 508 閱讀 5948

合併兩個有序鍊錶

有兩個鍊錶  l1 和 l2

首先要判斷的是,給定的兩個鍊錶是否存在 null 的情況

l1為空 ,那麼返回的是l2;l2為空,返回的是l1

當兩個鍊錶 都不為空,就需要進行判斷,有序輸出

因為是有序鍊錶,所以就省了很多事

先用l1的node1和l2的node1對比,哪個小,我們就輸出誰(正序輸出)

假設l1的node1小,把node1輸出後,還需要繼續再次進行比較

l1的node2和l2的node1進行比較,哪個小就輸出誰

等到最後,若有乙個鍊錶變為null

那就直接把另一支鍊錶剩下的元素全部輸出就可以了

public class mergetwosortedlists 

// 當其中乙個佇列變為空的時候

cur.next = (l1 == null) ? l2 : l1;

return head.next;

}}

LeetCode 21合併兩個有序列表

將兩個公升序鍊錶合併為乙個新的公升序鍊錶並返回。新煉表是通過拼接給定的兩個鍊錶的所有節點組成的。輸入 1 2 4,1 3 4 輸出 1 1 2 3 4 4初始解法 這個問題轉換為經典的merge排序中的merge過程.merge排序中merge操作即是將兩個有序子陣列合併成乙個陣列,需要考慮比較過程...

leetcode21 合併兩個有序鍊錶

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

LEETCODE 21 合併兩個有序鍊錶

將兩個有序鍊錶合併為乙個新的有序鍊錶並返回。新煉表是通過拼接給定的兩個鍊錶的所有節點組成的。示例 輸入 1 2 4,1 3 4 輸出 1 1 2 3 4 4c 第一遍將 相等 的這個else分支寫錯了,主要錯誤在於,next指標指向下乙個的這條語句寫到了後面,導致節點自己指向自己,造成了超時錯誤 執...