【LeetCode】Merge Two Sorted Lists
2014-07-15 10:24
381 查看
Merge Two Sorted Lists
Total Accepted: 18308 Total Submissions: 55982 My Submissions
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.
【解题思路】
归并排序,考察基本功。
赋值的时候可以new一个节点,也可以将一个链表赋值给另外一个,后者相对慢一些。
Java AC 440ms 新建节点
Total Accepted: 18308 Total Submissions: 55982 My Submissions
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.
【解题思路】
归并排序,考察基本功。
赋值的时候可以new一个节点,也可以将一个链表赋值给另外一个,后者相对慢一些。
Java AC 440ms 新建节点
/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { * val = x; * next = null; * } * } */ public class Solution { public ListNode mergeTwoLists(ListNode l1, ListNode l2) { ListNode node = new ListNode(0); ListNode point = node; while(l1 != null && l2 != null){ if(l1.val > l2.val){ point.next = new ListNode(l2.val); point = point.next; l2 = l2.next; }else{ point.next = new ListNode(l1.val); point = point.next; l1 = l1.next; } } while(l1 != null){ point.next = new ListNode(l1.val); point = point.next; l1 = l1.next; } while(l2 != null){ point.next = new ListNode(l2.val); point = point.next; l2 = l2.next; } return node.next; } }Python AC 224ms 新建节点
# Definition for singly-linked list. # class ListNode: # def __init__(self, x): # self.val = x # self.next = None class Solution: # @param two ListNodes # @return a ListNode def mergeTwoLists(self, l1, l2): node = ListNode(0) point = node while l1 is not None and l2 is not None: if l1.val > l2.val: point.next = ListNode(l2.val) l2 = l2.next else: point.next = ListNode(l1.val) l1 = l1.next point = point.next while l1 is not None: point.next = ListNode(l1.val) point = point.next l1 = l1.next while l2 is not None: point.next = ListNode(l2.val) point = point.next l2 = l2.next return node.nextJava AC 576ms 节点赋值
/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { * val = x; * next = null; * } * } */ public class Solution { public ListNode mergeTwoLists(ListNode l1, ListNode l2) { ListNode node = new ListNode(0); ListNode point = node; while (l1 != null && l2 != null) { if (l1.val > l2.val) { point.next = l2; point = point.next; l2 = l2.next; } else { point.next = l1; point = point.next; l1 = l1.next; } } if (l1 != null) { point.next = l1; } if (l2 != null) { point.next = l2; } return node.next; } }Python AC 240ms 节点赋值
# Definition for singly-linked list. # class ListNode: # def __init__(self, x): # self.val = x # self.next = None class Solution: # @param two ListNodes # @return a ListNode def mergeTwoLists(self, l1, l2): node = ListNode(0) point = node while l1 is not None and l2 is not None: if l1.val > l2.val: point.next = l2 l2 = l2.next else: point.next = l1 l1 = l1.next point = point.next if l1 is not None: point.next = l1 if l2 is not None: point.next = l2 return node.next
相关文章推荐
- 编程题2- Merge Two Sorted Lists(leetcode-21)
- 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
- C实现 LeetCode->Merge Two Sorted Lists (双指针大法)
- LeetCode之Merge Two Sorted Lists
- LeetCode 021 Merge Two Sorted Lists
- [leetcode]_Merge Two Sorted Lists
- 【Leetcode】Merge Two Sorted Lists
- LeetCode-21. Merge Two Sorted Lists
- 【LeetCode】C# 21、Merge Two Sorted Lists
- Merge Two Sorted Lists leetcode java
- 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