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

合并两个排序的链表

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

/*
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 result = new ListNode(-1);
         ListNode guard = result;//哨兵节点,很重要
         while(true){
             if(list1 == null && list2 == null){//全部取完了,可以结束了。
                 break;
             }
             if(list1==null){//list1取完了,后面的全部取list2的。
                 result.next = list2;
                 list2 = list2.next;
                 result = result.next;
             }else if(list2 == null){//list2取完了,后面全部取list1的。
                 result.next = list1;
                 list1 = list1.next;
                 result = result.next;
             }else if(list1.val<=list2.val){//和数组一样,谁小取谁的
                 result.next = list1;
                 list1 = list1.next;
                 result = result.next;
             }else if(list1.val>list2.val){//和数组一样,谁小取谁的
                 result.next = list2;
                 list2 = list2.next;
                 result = result.next;
             }
         }
         return guard.next;
     }

}
一个新的头结点,往后接,谁小就接谁,谁后移
全部评论

相关推荐

zYvv:双一流加大加粗再标红,然后广投。主要是获奖荣誉不够,建议开始不用追求大厂,去别的厂子刷下实习。
点赞 评论 收藏
分享
牛客83700679...:简历抄别人的,然后再投,有反馈就是简历不行,没反馈就是学历不行,多投多改只要技术不差机会总会有的
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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