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

合并两个排序的链表

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

public class Solution {
    /*
       1.判断两链表是否为空,若其中一个为空则返回不空的链表,否则返回空
       2.创建一个新节点为头节点
       3.比较两个链表val值直到两个链表遍历完成,值较小者加入到新的节点上
       4.将新的头节点返回
     */
    public ListNode Merge(ListNode list1ListNode list2) {
        if (list1 != null && list2 == null) {
            return list1;
        } else if (list1 == null && list2 == null) {
            return null;
        } else if (list1 == null && list2 != null) {
            return list2;
        }
        //用于保存合并的新链表的头节点
        ListNode head = null;
        //用于遍历保存两个链表的辅助节点
        ListNode p = null;
        if (list1.val < list2.val) {
            head = list1;
            p = list1;
            list1 = list1.next;
        } else {
            head = list2;
            p = list2;
            list2 = list2.next;
        }
        while (list1 != null && list2 != null) {
            if (list1.val <= list2.val) {
                p.next = list1;
                list1 = list1.next;
            } else {
                p.next = list2;
                list2 = list2.next;
            }
            p = p.next;
        }
        if (list1 == null) {
            p.next = list2;
        } else if (list2 == null) {
            p.next = list1;
        }
        return head;
    }
}
全部评论

相关推荐

不愿透露姓名的神秘牛友
07-01 12:22
点赞 评论 收藏
分享
风中翠竹:真的真的真的没有kpi。。。面试官是没有任何kpi的,捞是真的想试试看这个行不行,碰碰运气,或者是面试官比较闲现在,没事捞个人看看。kpi算HR那边,但是只有你入职了,kpi才作数,面试是没有的。
双非有机会进大厂吗
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-03 18:13
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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