剑指offer—合并两个排序的链表
来源:互联网 发布:淘宝怎么购物啊 编辑:程序博客网 时间:2024/05/21 08:59
题目描述
输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。
public class Solution { public ListNode Merge(ListNode list1,ListNode list2) { if(list1==null && list2==null) return null; if(list1==null) return list2; if(list2==null) return list1; ListNode pHead = null; ListNode cur = null; while(list1!=null&&list2!=null){ if(list1!=null && list1.val<=list2.val){ if(pHead==null){ pHead = cur = list1; }else{ cur.next = list1; cur = cur.next; } list1 = list1.next; }else{ if(pHead==null){ pHead = list2; }else{ cur.next = list2; cur = cur.next; } list2 = list2.next; } if(list1==null){ cur.next = list2; } if(list2==null){ cur.next = list1; } } return pHead; }}
非递归写法,思路比较简单,注意不要发生空指针异常就行
public class Solution { public ListNode Merge(ListNode list1,ListNode list2) { if(list1==null && list2==null) return null; if(list1==null) return list2; if(list2==null) return list1; if(list1.val<=list2.val){ list1.next = Merge(list1.next,list2); return list1; }else{ list2.next = Merge(list1,list2.next); return list2; }
这一道题目还是用递归写法吧,比较简单
阅读全文
0 0
- 《剑指offer》——合并两个排序的链表
- 《剑指offer》——合并两个排序的链表
- 剑指offer——合并两个排序的链表
- 合并两个排序的链表——剑指offer
- 剑指offer——合并两个排序的链表
- 剑指offer——两个合并排序的链表
- 剑指Offer——合并两个排序的链表
- 剑指offer—合并两个排序的链表
- 剑指offer(16)—合并两个排序的链表
- 剑指offer—合并两个排序的链表
- 剑指offer 17-合并两个排序表的链表
- 剑指Offer之合并两个排序的链表
- 剑指offer:合并两个排序的链表
- 剑指offer:合并两个排序的链表
- 【剑指offer】Q17:合并两个排序的链表
- 剑指offer-17:合并两个排序的链表
- 剑指offer系列源码-合并两个排序的链表
- 剑指offer--合并两个排序的链表
- 逻辑的计算进路--从莱布尼茨到图灵的逻辑发展
- 关闭eclipse自动弹出console功能
- windows下非编译安装XGBoost
- CSS文本
- 纯java整合sh
- 剑指offer—合并两个排序的链表
- Django部署在ubuntu上
- Python分析欧冠小组赛极限情况
- 如何提高自己的执行力
- JAVASE面试题3的知识延伸
- Mac 快速设置显示隐藏文件
- git仓库迁移而且不丢失log的方法
- Spring中default-autowire与autowire区别
- hdu1010(DFS+奇偶剪枝)