Merge Two Sorted Lists

来源:互联网 发布:电视网络直播在线观看 编辑:程序博客网 时间:2024/06/08 15:46

Merge two sorted linked lists and return it as a new list. The new list should be made by splicing together the nodes of the first two lists.

用了一个dumb head,。对于这种header不确定的list,可以用dumb header,代码会整洁不少。

/** * Definition for singly-linked list. * public class ListNode { *     int val; *     ListNode next; *     ListNode(int x) { val = x; } * } */public class Solution {    public ListNode mergeTwoLists(ListNode l1, ListNode l2) {        ListNode dumHeader = new ListNode(0);        ListNode current = dumHeader;        while(l1 != null && l2 != null){            ListNode nextNode = null;            if(l1.val > l2.val){                nextNode = l2;                l2 = l2.next;                current.next = nextNode;                current = nextNode;            }            else if(l2.val >= l1.val){                nextNode = l1;                l1 = l1.next;                current.next = nextNode;                current = nextNode;            }        }                if(l1 != null){            current.next = l1;        }        else if (l2 != null){            current.next = l2;        }                return dumHeader.next;    }}


0 0
原创粉丝点击