题解 | #合并两个排序的链表#

合并两个排序的链表

http://www.nowcoder.com/practice/d8b6b4358f774294a89de2a6ac4d9337

/*
public class ListNode {
    int val;
    ListNode next = null;

    ListNode(int val) {
        this.val = val;
    }
}*/
/**
*新建一个链表,谁小就连谁。思路和实现都很简单。
*还可以有一个耗费空间更少的思路,将list2往list1填充。
**/
public class Solution {
    public ListNode Merge(ListNode list1,ListNode list2) {
        ListNode head1 = list1;
        ListNode head2 = list2;
        ListNode head3 = null;
        ListNode cur;
        if(head1==null) return list2;
        if(head2==null) return list1;
        if(head1.val<head2.val){
            head3 = head1;
            head1 = head1.next;
        }else{
            head3 = head2;
            head2 = head2.next;
        }
        cur = head3;
        while(head1!=null && head2!=null){
            if(head1.val<head2.val){
                    cur.next = head1;
                    head1 = head1.next;
            }else{
                    cur.next = head2;
                    head2 = head2.next;
            }
            cur = cur.next;
        }
        if(head1==null){
            cur.next = head2;
        }else{
            cur.next = head1;
        }
        return head3;
    }
}
全部评论

相关推荐

04-17 18:32
门头沟学院 Java
野猪不是猪🐗:他跟你一个学校,你要是进来之后待遇比他好,他受得了?
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务