[ Web Proxy ]
URL:
Viewing: https://raw.githubusercontent.com/feixiangcode/algorithm/master/Week_01/id_134/LeetCode_21_134.java [Back]  [Original]

//https://leetcode.com/problems/merge-two-sorted-lists/
/**
 * 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 master = new ListNode(0), slave = l2;
        master.next = l1;
        ListNode head = master, tmp = null;
        while (slave != null) {
            if (master.next == null) {
                tmp = slave.next;
                master.next = slave;
                slave.next = null;
                slave = tmp;
                master = master.next;
            } else if (slave.val < master.next.val) {
                tmp = slave.next;
                slave.next = master.next;
                master.next = slave;
                slave = tmp;
                master = master.next;
            } else {
                master = master.next;
            }
        }
        return head.next;
    }
}

Web Proxy Viewer  |  New URL  |  Original Page