合并有序链表

来源:互联网 发布:淘宝卖家违规怎么处理 编辑:程序博客网 时间:2024/06/14 21:49

将两个排序链表合并为一个新的排序链表

样例

给出 1->3->8->11->15->null2->null, 返回 1->2->3->8->11->15->null

public ListNode mergeTwoLists(ListNode l1, ListNode l2) {        ListNode head = null, p = l1, q = l2, k = null;        while (p != null && q != null) {            if (p.val < q.val) {                if (head == null) {                    head = p;                    k = head;                } else {                    k.next = p;                    k = k.next;                }                p = p.next;            } else {                if (head == null) {                    head = q;                    k = head;                } else {                    k.next = q;                    k = k.next;                }                q = q.next;            }        }        if (p == null) {            while (q != null) {                if (head == null) {                    head = q;                    k = head;                } else {                    k.next = q;                    k = k.next;                }                q = q.next;            }        } else {            while (p != null) {                if (head == null) {                    head = p;                    k = head;                } else {                    k.next = p;                    k = k.next;                }                p = p.next;            }        }        return head;    }


原创粉丝点击