码迷,mamicode.com
首页 > 其他好文 > 详细

LeetCode记录之21——Merge Two Sorted Lists

时间:2017-09-06 00:25:15      阅读:185      评论:0      收藏:0      [点我收藏+]

标签:思想   lists   tco   数据结构   实现   节点   有序   需要   递归   

算法和数据结构这东西,真的是需要常用常练。这道看似简单的链表合并题,难了我好几个小时,最后还是上网搜索了一种不错算法。后期复习完链表的知识我会将我自己的实现代理贴上。

这个算法巧就巧在用了递归的思想,按照常规方法也能求得,但是就未免太复杂了。

Merge two sorted linked lists and return it as a new list. The new list should be made by splicing together the nodes of the first two lists.

合并两个有序的链表并将其作为新链表返回。 新链表应通过将前两个列表的节点拼接在一起。


 

 1 public ListNode mergeTwoLists(ListNode l1,ListNode l2){
 2         ListNode newNode;    //new一个新的节点作新的链表
 3         if (l1 == null && l2 == null) {
 4             return null;    
 5         }
 6         if (l1 == null) {    //如果L1为空,即L2长度大于L1,所以返回L2剩余节点
 7             newNode = l2;    
 8             return newNode;
 9         }
10         if (l2 == null) {    //与上同理
11             newNode = l1;
12             return newNode;
13         }
14         if (l1.val > l2.val) {
15             newNode = l2;
16             l2 = l2.next;
17         } else {
18             newNode = l1;
19             l1 = l1.next;
20         }
21         newNode.next = mergeTwoLists(l1, l2);    //采取递归思想
22         return newNode;
23     }

 

LeetCode记录之21——Merge Two Sorted Lists

标签:思想   lists   tco   数据结构   实现   节点   有序   需要   递归   

原文地址:http://www.cnblogs.com/vincentme/p/7482377.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!