lintcode,合并两个排序链表

来源:互联网 发布:js判断是不是在数组中 编辑:程序博客网 时间:2024/05/18 18:44

将两个排序链表合并为一个新的排序链表
样例
给出 1->3->8->11->15->null,2->null, 返回 1->2->3->8->11->15->null。

解题思路:用一个fakenode作为返回,每次判断两个链表节点大小关系。
一刷ac

/** * Definition for ListNode. * public class ListNode { *     int val; *     ListNode next; *     ListNode(int val) { *         this.val = val; *         this.next = null; *     } * } */ public class Solution {    /**     * @param ListNode l1 is the head of the linked list     * @param ListNode l2 is the head of the linked list     * @return: ListNode head of linked list     */    public ListNode mergeTwoLists(ListNode l1, ListNode l2) {        if(l1 == null && l2 == null) return null;        ListNode node = new ListNode(0);        ListNode dummy = node;        while(l1 != null && l2 != null){            if(l1.val < l2.val){                node.next = l1;                l1 = l1.next;                node = node.next;            }else{                node.next = l2;                l2 = l2.next;                node = node.next;            }        }        if(l1 != null) node.next = l1;        if(l2 != null) node.next = l2;        return dummy.next;    }}
0 0
原创粉丝点击