牛客网——合并两个排序的链表

来源:互联网 发布:python 双引号 变量 编辑:程序博客网 时间:2024/05/19 02:17

思路,取出两表中最小的值为头结点。然后从两表中依次必较将较小的结点接到它后面,依次执行。

如果有一个表完了,就直接把所有的接到后面。

/*public class ListNode {    int val;    ListNode next = null;    ListNode(int val) {        this.val = val;    }}*/public class Solution {    public ListNode Merge(ListNode list1,ListNode list2) {        if(list1==null)return list2;        if(list2==null)return list1;        ListNode head;                ListNode p = list1;        ListNode q = list2;        if(list1.val<list2.val){        head = list1;        p = p.next;        }        else{        head = list2;        q = q.next;        }                ListNode temp = head;                while(p!=null&&q!=null){        if(p.val<q.val){        temp.next = p;        p = p.next;        temp = temp.next;        }else{        temp.next = q;        q = q.next;        temp = temp.next;        }        }        if(p==null){        temp.next = q;        }        if(q==null){        temp.next = p;        }                return head;    }}


0 0
原创粉丝点击