LeetCode Merge Two Sorted Lists
来源:互联网 发布:linux 修改文件名 编辑:程序博客网 时间:2024/05/17 07:52
LeetCode解题之Merge Two Sorted Lists
原题
将两个有序的链表拼接成一个有序的链表。
注意点:
- 不需要额外申请节点,主要把原链表中的节点串联起来
- 原链表中的一个已经全部在新链表中后,另一个链表剩余的部分可以直接拼接
例子:
输入: l1 = 1->2->4, l2 = 3
输出: 1->2->3->4
解题思路
为了避免分类讨论,添加一个假的头节点。现在只需要两个指针分别指向原来的两个链表,将其中比较小的节点添加到新的链表中。传入的参数l1和l2正好可以当作遍历两个链表的指针。
AC源码
# Definition for singly-linked list.class ListNode(object): def __init__(self, x): self.val = x self.next = Noneclass Solution(object): def mergeTwoLists(self, l1, l2): """ :type l1: ListNode :type l2: ListNode :rtype: ListNode """ temp = ListNode(-1) head = temp while l1 and l2: if l1.val > l2.val: temp.next = l2 l2 = l2.next else: temp.next = l1 l1 = l1.next temp = temp.next if l1: temp.next = l1 else: temp.next = l2 return head.nextif __name__ == "__main__": assert Solution().mergeTwoLists(ListNode(1), ListNode(2)).val == 1
欢迎查看我的Github (https://github.com/gavinfish/LeetCode-Python) 来获得相关源码。
0 0
- 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 - 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
- JQuery 添加和删除class
- 10个Android开源个性化View控件
- 排序算法复习(2)-- 选择排序
- 设计模式---工厂模式
- 将时间戳转换成当地时间NSDate 转换成当地yyyy-MM-dd HH:mm:ss时间格式
- LeetCode Merge Two Sorted Lists
- xcode构建iOS app时version和build两个版本号区别
- 自动化脚本执行失败原因分析
- 输入大于1的数字,判断周几
- Git忽略特殊文件
- 网址收藏
- Android沉浸式和状态栏透明设置笔记!
- C++中map、hash_map、unordered_map、unordered_set通俗辨析
- 初学机器学习的一点想法