LintCode_165_合并两个排序链表
2016-04-12 13:06
323 查看
将两个排序链表合并为一个新的排序链表
您在真实的面试中是否遇到过这个题?
Yes
样例
给出
返回
非递归算法
您在真实的面试中是否遇到过这个题?
Yes
样例
给出
1->3->8->11->15->null,
2->null,
返回
1->2->3->8->11->15->null。
非递归算法
/** * Definition for ListNode. * public class ListNode { * int val; * ListNode next; * ListNode(int val) { * this.val = val; * this.next = null; * } * } */ public class Solution { /** * @param ListNode l1 is the head of the linked list * @param ListNode l2 is the head of the linked list * @return: ListNode head of linked list */ public ListNode mergeTwoLists(ListNode l1, ListNode l2) { // write your code here if(l1 == null || l2 == null){//如果为空 返回另一个 return l1==null?l2:l1; } ListNode small;//取较小的作为头节点 if(l1.val > l2.val){ small = l2; l2 = l2.next; }else{ small = l1; l1 = l1.next; } ListNode merge = small;//设定要返回的头节点 while(l1!=null && l2!= null ){ if(l1.val > l2.val){ small.next = l2; l2 = l2.next; }else{ small.next = l1; l1 = l1.next; } small = small.next;//指向下一个 } if(l1 == null){//将非空的剩下的排在后面 small.next = l2; }else{ small.next = l1; } return merge; } }递归算法
/** * Definition for ListNode. * public class ListNode { * int val; * ListNode next; * ListNode(int val) { * this.val = val; * this.next = null; * } * } */ public class Solution { /** * @param ListNode l1 is the head of the linked list * @param ListNode l2 is the head of the linked list * @return: ListNode head of linked list */ public ListNode mergeTwoLists(ListNode l1, ListNode l2) { // write your code here if(l1==null)return l2; if(l2==null)return l1; if(l1.val>l2.val){ l2.next=mergeTwoLists(l1,l2.next); return l2; } else{ l1.next=mergeTwoLists(l1.next,l2); return l1; } } }
相关文章推荐
- C++作业3
- 社区“四点半课堂”解了家长难题
- javascript面向对象编程笔记
- c++实验三----个人所得税计算器
- UITableView & UITableViewController
- 微信支付,少1分钱bug
- 【目标检测】Fast RCNN算法详解
- Android Studio 入门(转)
- LightOJ 1341 Aladdin and the Flying Carpet 数学
- Linux 基础--D1
- Linux EMMC子系统分析-初始化流程
- android RelativeLayout 内容居中解决办法
- JavaBean 对象与 Map的纠纷
- selector+shape
- HDU 4217 Data Structure?(线段树的查找和更新)
- 将图像转换为特征向量Transforming Images to Feature Vectors
- Claris and XOR (数位dp)
- hdu 3555 Bomb【数位dp~吖!!!!!】
- PHP常量详解:define和const的区别
- RNN语言模型中的在线表示学习Online Representation Learning in Recurrent Neural language models