zoukankan      html  css  js  c++  java
  • 合并两个排序链表

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

    思路:扫一遍维护递增,最后再添加原链表可能未被添加的部分

     public ListNode Merge(ListNode list1,ListNode list2) {
            if(list1==null&&list2==null) return null;
            if(list1==null&&list2!=null) return list2;
            if(list1!=null&&list2==null) return list1;
             ListNode res1=new ListNode(-1);
               ListNode res=res1;
           //要有两个指针指向创建的头结点,一个指针会走到末尾,返回的时候已经不能用了
            while(list1!=null&&list2!=null){
                if(list1.val<=list2.val){
                    res.next=list1;
                    res=res.next;
                    list1=list1.next;
                }else{
                    res.next=list2;
                    res=res.next;
                    list2=list2.next;
                }
            }
             while(list1 != null) {
                res.next = list1;
               res = res.next;
                list1 = list1.next;
            }
            while(list2 != null) {
                res.next = list2;
                res = res.next;
                list2 = list2.next;
            }
            return res1.next;
        }
  • 相关阅读:
    三大范式
    html 横线的代码
    CSS下拉 菜单3.27第一次
    JS页面三种打开方式及对话框
    函数整理
    3.22整理作业
    for循环,if 练习
    php测试题
    设计模式
    面向对象的三大特性
  • 原文地址:https://www.cnblogs.com/team42/p/6681902.html
Copyright © 2011-2022 走看看