21. Merge Two Sorted Lists

https://leetcode.com/problems/merge-two-sorted-lists/description/
輸入: 兩個排好序的鏈表
輸出: 兩個鏈表連接起來,并且是排好序的

思路:
循環(huán)遍歷兩個鏈表,判斷當前節(jié)點的大小,需要注意長度不等

/**
 * Definition for singly-linked list.
 * public class ListNode {
 *     int val;
 *     ListNode next;
 *     ListNode(int x) { val = x; }
 * }
 */
class Solution {
    public ListNode mergeTwoLists(ListNode l1, ListNode l2) {
        if(l1==null){
            return l2;
        }
        if(l2==null){
            return l1;
        }
        ListNode res = new ListNode(-1);
        ListNode i=l1,j=l2,item=res;
        do{
            if(i!=null&&j!=null){
                if(i.val<j.val){
                    item.next=i;
                    i=i.next;
                    item=item.next;
                }else{
                    item.next=j;
                    j=j.next;
                    item=item.next;
                }
            }else if(j==null){
                item.next=i;
                i=i.next;
                item=item.next;
            }else if(i==null){
                item.next=j;
                j=j.next;
                item=item.next;
            }
            
        }while(i!=null||j!=null);
        return res.next;
    }
}
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內(nèi)容