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;
        }
  • 相关阅读:
    关于两次fork
    阻塞非阻塞与同步异步的区别
    函数调用堆栈
    数组
    64位操作系统与32位操作系统数据类型的字节数
    Redis 键(key)
    Redis 命令
    Redis 安装
    Redis 配置
    MongoDB 安装
  • 原文地址:https://www.cnblogs.com/team42/p/6681902.html
Copyright © 2011-2022 走看看