劍指Offer-連結串列-(4)
阿新 • • 發佈:2018-12-05
知識點/資料結構:連結串列
題目描述:
輸入兩個單調遞增的連結串列,輸出兩個連結串列合成後的連結串列,當然我們需要合成後的連結串列滿足單調不減規則。
思路:
從合併兩個連結串列的頭節點開始,連結串列1的頭節點的值小於連結串列2的頭節點的值,因此連結串列1的頭節點監視合併後連結串列的頭節點。;
在兩個連結串列剩下的節點中依舊是有序的,因此重複步驟1;
注意把節點連結起來就好,這是典型的遞迴過程;
注意考慮邊界條件;
public class Solution { public ListNode Merge(ListNode list1,ListNode list2) { if(list1==null) return list2; if(list2==null) return list1; //也可以直接用list1或者list2的基礎上直接修改指向;為了看著清楚,新建了一個節點 ListNode head=null; if(list1.val<list2.val){ head=list1; head.next= Merge(list1.next,list2); }else{ head=list2; head.next= Merge(list1,list2.next); } return head; } }