LeetCode - 21. Merge Two Sorted Lists
来源:互联网 发布:linux运行级别 编辑:程序博客网 时间:2024/06/06 09:15
使用两个指针,开始的时候分别指向两个sorted lists的开头,并且初始化一个dummyNode,然后迭代比较这两个指针指向的val,将比较小的那个放到dummyNode开头的list的后面,当退出循环之后还要检测下哪个list没有被完全迭代完毕,继而继续迭代,时间复杂度O(m + n),空间复杂度constant,代码如下:
/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { val = x; } * } */public class Solution { public ListNode mergeTwoLists(ListNode l1, ListNode l2) { // Corner case if(l1 == null && l2 == null) return null; if(l1 == null || l2 == null) return l1 == null ? l2 : l1; // Initialize pointers ListNode dummyNode = new ListNode(0); ListNode pointer = dummyNode; while(l1 != null && l2 != null){ if(l1.val > l2.val){ pointer.next = l2; pointer = pointer.next; l2 = l2.next; }else{ pointer.next = l1; pointer = pointer.next; l1 = l1.next; } } // Check which list is empty if(l1 == null){ while(l2 != null){ pointer.next = l2; pointer = pointer.next; l2 = l2.next; } }else{ while(l1 != null){ pointer.next = l1; pointer = pointer.next; l1 = l1.next; } } return dummyNode.next; }}
知识点:
1. 当linked lists, tree等头节点可能会发生变化的时候,可以使用dummyNode,最后返回dummyNode.next即可
0 0
- 21. Merge Two Sorted Lists leetcode(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】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 OJ> 21. Merge Two Sorted Lists
- 21. Merge Two Sorted Lists LeetCode
- leetcode 21. Merge Two Sorted Lists
- Leetcode:21. Merge Two Sorted Lists(JAVA)
- Leetcode ☞ 21. Merge Two Sorted Lists
- LeetCode 21. Merge Two Sorted Lists
- [LeetCode]21. Merge Two Sorted Lists
- 【LeetCode】21. Merge Two Sorted Lists
- DrawerLayout去除阴影
- 在刚开始安装Java时遇到的问题
- GitHub使用教程详解(上)——官网操作指南[翻译]
- svn使用记录
- QTableview QSqlTableModel如何最恰当地只显示一个表中的某几个字段的数据
- LeetCode - 21. Merge Two Sorted Lists
- Java 8 加密架构中Oracle提供者总结
- ftp服务器后文件显示的时间与实际时间不一致
- couldn't clear tomcat cache
- Javascript中的apply与call详解
- 配置tomcat7自带数据库连接池
- HTTP POST上传文件的格式示范
- swiper的基础使用(十八)
- Java 继承和聚合/组合的关系以及 Is A,Has A