戴璞微的博客

简单点!做事的动机简单点

剑指offer--合并两个排序的链表


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


AC代码:

/*
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 list = new ListNode(0);
        ListNode cur = list;
        if ( list1 == null){
            return list2;
        }

        if (list2 == null){
            return list1;
        }

        while(list1 != null & list2 != null){
            if ( list1.val <= list2.val){
                list.next = list1;
                list = list.next;
                list1 = list1.next;
            }else{
                list.next = list2;
                list = list.next;
                list2 = list2.next;
            }
        }

        while(list1 != null){
            list.next = list1;
            list = list.next;
            list1 = list1.next;
        }

        while(list2 != null){
            list.next = list2;
            list = list.next;
            list2 = list2.next;
        }

        list.next = null;
        cur = cur.next;

        return cur;
    }
}
阅读更多
版权声明:本文为博主原创文章,若需转载,请注明http://blog.csdn.net/qq_30091945 https://blog.csdn.net/qq_30091945/article/details/70543719
所属专栏: 剑指offer题解
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭