LeetCode记录之21——Merge Two Sorted Lists

Posted 三分自留地

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LeetCode记录之21——Merge Two Sorted Lists相关的知识,希望对你有一定的参考价值。

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

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

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的主要内容,如果未能解决你的问题,请参考以下文章

LeetCode 21. Merge Two Sorted Lists

Leetcode---21. Merge Two Sorted Lists

Leetcode 21. Merge Two Sorted Lists

LeetCode 21. Merge Two Sorted Lists

LeetCode算法-21Merge Two Sorted Lists

Leetcode 21. Merge Two Sorted Lists