博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
21. 合并两个有序链表
阅读量:5243 次
发布时间:2019-06-14

本文共 1717 字,大约阅读时间需要 5 分钟。

将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 

示例:

输入:1->2->4, 1->3->4输出:1->1->2->3->4->4.
1 public class MergeTwoSortedLists {     2     private class ListNode { 3         int val;  4         ListNode next; 5          6         ListNode(int x) { 7             val = x; 8         } 9     }10     public ListNode mergeTwoLists(ListNode l1, ListNode l2) {11         if(l1 == null) {12             return l2;13         }14         if(l2 == null) {15             return l1;16         }17         ListNode result = new ListNode(0);18         ListNode curRes = result;19         ListNode curNode1 = l1;20         ListNode curNode2 = l2;21         while(curNode1 != null && curNode2 != null) {22             if(curNode1.val < curNode2.val) {23                 curRes.next = new ListNode(curNode1.val);24                 curNode1 = curNode1.next;25                 curRes = curRes.next;26             }else {27                 curRes = new ListNode(curNode2.val);28                 curNode2 = curNode2.next;29                 curRes = curRes.next;30             }31         }32 /*        while(curNode1 != null) {33             curRes.next = new ListNode(curNode1.val);34             curRes = curRes.next;35             curNode1 = curNode1.next;36         }37         38         while(curNode2 != null) {39             curRes.next = new ListNode(curNode2.val);40             curRes = curRes.next;41             curNode2 = curNode2.next;42         }*/43         //无需循环判断,其中一个为空,则将不为空的直接赋值即可44         if(curNode1 != null) {45             curRes.next = curNode1;46         }else {47             curRes.next = curNode2;48         }49         return result.next;50     }51 }

 

转载于:https://www.cnblogs.com/xiyangchen/p/10852602.html

你可能感兴趣的文章
STEP2——《数据分析:企业的贤内助》重点摘要笔记(六)——数据描述
查看>>
ViewPager的onPageChangeListener里面的一些方法参数:
查看>>
Jenkins关闭、重启,Jenkins服务的启动、停止方法。
查看>>
CF E2 - Array and Segments (Hard version) (线段树)
查看>>
Linux SPI总线和设备驱动架构之四:SPI数据传输的队列化
查看>>
SIGPIPE并产生一个信号处理
查看>>
CentOS
查看>>
Linux pipe函数
查看>>
java equals 小记
查看>>
爬虫-通用代码框架
查看>>
2019春 软件工程实践 助教总结
查看>>
YUV 格式的视频呈现
查看>>
Android弹出框的学习
查看>>
现代程序设计 作业1
查看>>
在android开发中添加外挂字体
查看>>
Zerver是一个C#开发的Nginx+PHP+Mysql+memcached+redis绿色集成开发环境
查看>>
多线程实现资源共享的问题学习与总结
查看>>
Learning-Python【26】:反射及内置方法
查看>>
torch教程[1]用numpy实现三层全连接神经网络
查看>>
java实现哈弗曼树
查看>>