[LeetCode] 21. Merge Two Sorted Lists java

    xiaoxiao2021-03-25  99

    /**21. Merge Two Sorted Lists * @param l1 * @param l2 * @return 合并两个有序链表 */ public ListNode mergeTwoLists(ListNode l1, ListNode l2) { ListNode ret = new ListNode(-1); ListNode l = ret; while (l1 != null && l2 != null) { if (l1.val < l2.val) { l.next = l1; l1 = l1.next; } else { l.next = l2; l2 = l2.next; } } while(l1 != null) { l.next = l1; l1 = l1.next; } while (l2 != null) { l.next = l2; l2 = l2.next; } return ret.next; }

    改进:链表,所以不用每次循环读取

    public ListNode mergeTwoLists(ListNode l1, ListNode l2) { ListNode ret = new ListNode(-1); ListNode retHead = ret; if (l1 == null && l2 == null) { return null; }else if (l1 == null) { return l2; } else if (l2 == null) { return l1; } while (l1 != null && l2 != null) { if (l1.val <= l2.val) { ret.next = l1; l1 = l1.next; ret = ret.next; } else { ret.next = l2; l2 = l2.next; ret = ret.next; } } if (l1 != null) { ret.next = l1; } if (l2 != null) { ret.next = l2; } return retHead.next; }
    转载请注明原文地址: https://ju.6miu.com/read-13291.html

    最新回复(0)