我的方法:新初始化一个链表头,比较两个链表当前节点的大小,然后连接到该链表中。遍历两个链表直到null为止。

	public ListNode merge(ListNode first, ListNode second){
//注意这个细节
ListNode head = new ListNode(0);
ListNode index = head; while(first != null && second != null){
if(first.val < second.val){
index.next = first;
first = first.next;
}else{
index.next = second;
second = second.next;
}
index = index.next;
}
if(first != null)index.next = first;
else index.next = second; return head.next;
}

书中方法:我们每一次都是找两个链表值中较小的作为结果节点,它的下一个节点依旧会重复一样的过程,这是典型的递归过程,可以得到以下的递归方法。先处理后递归,最后的返回值是头节点,每次递归的返回值是较小的节点。

	public ListNode merge2(ListNode first, ListNode second){
if(first == null)return second;
if(second == null)return first; ListNode nowHead = null;
if(first.val < second.val){
nowHead = first;
nowHead.next = merge2(first.next, second);
}else{
nowHead = second;
nowHead.next = merge2(first, second.next);
} return nowHead;
}

最新文章

  1. 深入探究 WinRT 和 await
  2. iOS 教你如何实现手势密码
  3. application/x-www-form-urlencoded multipart/form-data text/plain 后台返回的数据响应的格式类型
  4. struts checkbox选中
  5. Windows 7系统安装MySQL5.5.21图解
  6. 自己手动写http服务器(2)
  7. 扩展ASP.NET MVC HtmlHelper类
  8. javascript所有的节点和方法
  9. 本博客由CSDN迁移而来,显示不正常的博文会慢慢修复!
  10. 2018-01-11 Antlr4实现数学四则运算
  11. 开源的.NET任务调度框架-HangFire
  12. Web项目开发中常见安全问题防范
  13. GPUImage中对比度调整的实现——GPUImageContrastFilter
  14. Flask 目录
  15. 2527: [Poi2011]Meteors[整体二分]
  16. Pyqt图标下载网站
  17. Directory /usr/local/hadoop/tmp/tmp/hadoop-root/dfs/name is in an inconsistent state: storage directory does not exist or is not accessible
  18. C++ sort()函数的用法
  19. 使用Axure设计中,大型的后台系统原型总结
  20. POJ 1235 Machine Schedule 【二分图】

热门文章

  1. vue单页面项目中解决安卓4.4版本不兼容的问题
  2. metaclass简单使用
  3. linux运维、架构之路-tomcat日志切割工具 logrotate
  4. Linux的学习:
  5. Java——常用类(Math)
  6. linux入门 一些常见命令
  7. 如何在Ecplise调试之后恢复原来的界面
  8. 关于跨域踩的坑,浏览器 status code为200,但实际上是跨域了
  9. 利用 TensorFlow 入门 Word2Vec
  10. ORACLE DG在线日志修改