合并两个排序的链表

来源:互联网 发布:nginx反向代理设置 编辑:程序博客网 时间:2024/06/03 17: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) {        ListNode rst = new ListNode(0);        ListNode p = list1, q = list2, pq = rst;        while(p != null && q != null){            if(p.val <= q.val){                pq.next = p;                pq = p;                p = p.next;            } else {                pq.next = q;                pq = q;                q = q.next;            }        }        while(p != null){            pq.next = p;            pq = p;            p = p.next;        }        while(q != null){             pq.next = q;            pq = q;            q = q.next;        }        return rst.next;    }}

类似于归并排序

注意:这个方法也已经破坏了原来的表结构

0 0