LeetCode进阶之路(Merge Two Sorted Lists)
来源:互联网 发布:linux nvidia驱动卸载 编辑:程序博客网 时间:2024/05/22 03:40
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.
题目:两个有序的链表组合成一个有序的新链表。
思路:因为是有序的,所以把每个节点都取出来放到一个list里重新排序,再放到新链表里即可。
public ListNode mergeTwoLists(ListNode l1, ListNode l2) { if(l1 == null) { return l2; } if(l2 == null) { return l1; } ListNode newNode = new ListNode(0); ListNode head = newNode; List<Integer> list = new ArrayList<Integer>(); while(l1 != null) { list.add(l1.val); l1 = l1.next; } while(l2 != null) { list.add(l2.val); l2 = l2.next; } Collections.sort(list); for(Integer integer : list){ ListNode n = new ListNode(integer); head.next = n; head = head.next; } return newNode.next; }
7.26更新
这个方法也用指针来解决,时间复杂度会减少很多。
public ListNode mergeTwoLists(ListNode l1, ListNode l2) { ListNode node = new ListNode(-1); ListNode head = node; ListNode first = l1; ListNode second = l2; while(first != null || second != null){ if(first != null && second !=null){ if(first.val < second.val) { head.next = first; first = first.next; head = head.next; }else { head.next = second; second = second.next; head = head.next; } }else if(first == null) { head.next = second; break; } else { head.next = first; break; } } return node.next; }
0 0
- LeetCode进阶之路(Merge Two Sorted Lists)
- LeetCode进阶之路(Merge k Sorted Lists)
- leetcode之Merge Two Sorted Lists
- LeetCode 之Merge Two Sorted Lists
- LeetCode之Merge Two Sorted Lists
- LeetCode之Merge Two Sorted Lists
- LeetCode之Merge Two Sorted Lists
- LeetCode之Merge Two Sorted Lists
- 【Leetcode】之Merge Two Sorted Lists
- LeetCode 之 Merge Two Sorted Lists
- leetcode之Merge Two Sorted Lists
- leetcode 之 Merge two sorted lists
- leetcode之Merge Two Sorted Lists
- LeetCode之21----Merge Two Sorted Lists
- Leetcode 之 Merge Two Sorted Lists
- LeetCode之Merge Two Sorted Lists
- leetcode 之 Merge Two Sorted Lists
- leetcode 刷题之路 85 Merge Two Sorted Lists
- EventBus 3.0 相见恨晚
- linux 下platform设备和驱动注册的先后顺序
- 集成 Tomcat 插件到 Eclipse 的过程
- 深入分析 Java I/O 的工作机制
- 高效的平衡搜索树——红黑树
- LeetCode进阶之路(Merge Two Sorted Lists)
- 将xml布局转换成view对象
- android中的jni开发(简版)
- 移植UBoot的2016版本/添加新的板级支持
- 报错信息为:java.lang.IllegalStateException: The specified child already has a parent.
- 复制表数据、表结构;临时表创建
- shell script input and out put functuo
- lightoj1079【背包】
- MySQL数据安装卸载解决方案以及基本增删改查