《剑指offer》牛客网java题解-合并两个排序的链表

来源:互联网 发布:tensorflow实战视频 编辑:程序博客网 时间:2024/05/21 17:29

输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。

两个排序链表的合并就是不停的去比较两个链表头的值,然后指针后移。
leetcode上有拓展是k个链表的问题,之后整理leetcode题解时再写。

public class Solution {    public ListNode Merge(ListNode l1,ListNode l2) {        ListNode head = new ListNode(0);        ListNode p = head;        while(l1 != null && l2 != null){            if(l1.val < l2.val){                p.next = l1;                l1 = l1.next;            }            else{                p.next = l2;                l2 = l2.next;            }            p = p.next;        }        if(l1 == null){            p.next = l2;        }        else if(l2 == null){            p.next = l1;        }        return head.next;      }}