21 合併兩個有序鍊錶

2021-10-24 22:17:43 字數 1368 閱讀 9452

截圖自官方

// 自己的第二種解法,就是建立個新鍊錶。比大小挨個往出取。注意第一次時獲取頭結點的處理就行。

// if(l1==null||l2==null)

// listnode cpl1=null;

// listnode temp=null;

// while(l1!=null||l2!=null)

// if(l1==null)

// if(l1.val<=l2.val)else

// }elseelse

// }

// }

// return cpl1;

// }

// 官方的解法2,更加優雅。

// listnode cpl1=new listnode(-1);

// listnode temp=cpl1;

// while(l1!=null&&l2!=null)else

// }

// temp.next=(l1==null)?l2:l1;

// return cpl1.next;

// }

// 遞迴解法

if(l1==null)

if(l2==null)

if(l1.val<=l2.val)else l2.next=mergetwolists(l1,l2.next);

return l2; }}

21 合併兩個有序鍊錶

將兩個有序鍊錶合併為乙個新的有序鍊錶並返回。新煉表是通過拼接給定的兩個鍊錶的所有節點組成的。示例 輸入 1 2 4,1 3 4 輸出 1 1 2 3 4 4 原本想的是用19題的結構陣列那種方法來做 分別遍歷兩個鍊錶,建立結構儲存原始索引,val和指標,氣泡排序這個結構,更新索引,按照索引建立新的n...

21 合併兩個有序鍊錶

合併兩個有序鍊錶 將兩個有序鍊錶合併為乙個新的有序鍊錶並返回。新煉表是通過拼接給定的兩個鍊錶的所有節點組成的。示例 輸入 1 2 4,1 3 4輸出 1 1 2 3 4 4比較簡單,比較大小,重新排序即可。created by hints on 2019 1 9.include using name...

21 合併兩個有序鍊錶

將兩個有序鍊錶合併為乙個新的有序鍊錶並返回。新煉表是通過拼接給定的兩個鍊錶的所有節點組成的。輸入 1 2 4,1 3 4 輸出 1 1 2 3 4 4先確定合併鍊錶第乙個節點 在迴圈中同時遍歷兩個鍊錶,將後面其餘節點逐次比較,依大小次序連線到首節點之後,迴圈結束後可能有乙個鍊錶未遍歷完,將這個鍊錶剩...