python刷LeetCode:21. 合并两个有序链表
2024-09-06 06:11:13
难度等级:简单
题目描述:
将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。
示例:
输入:1->2->4, 1->3->4
输出:1->1->2->3->4->4
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/merge-two-sorted-lists
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
解题思路:
1、此题主要考察对链表的操作
2、解法有多种,此处采用递归
3、不断比较大小,更新链表的下一节点
解题代码:
# Definition for singly-linked list.
# class ListNode:
# def __init__(self, x):
# self.val = x
# self.next = None class Solution:
def mergeTwoLists(self, l1: ListNode, l2: ListNode) -> ListNode:
if not l1: return l2
if not l2: return l1
if l1.val < l2.val: # 若当前l1数值小于l2,更新l1的下一节点,返回l1当前值
l1.next = self.mergeTwoLists(l1.next,l2) # 先将原l1.next传入进行递归比较,得到的值用来更新l1.next
return l1
else: # 若当前l1数值大于等于l2,更新l2的下一节点,返回l2当前值
l2.next = self.mergeTwoLists(l1,l2.next) # 先将原l2.next传入进行递归比较,得到的值用来更新l2.next
return l2
最新文章
- 快速开发基于 HTML5 网络拓扑图应用
- HOLOLENS如何调节屏幕亮度和音量?
- 无废话ExtJs 入门教程十六[页面布局:Layout]
- Centos 安装 neo4j
- WPF错误:当前上下文中不存在名称“InitializeComponent”
- win10蓝屏问题,关于驱动kisSaasUrlRedirectKnl64.sys 的
- imp-00002 无法打开。。
- Xcode 创建静态库和动态库
- careercup-C和C++ 13.10
- cocos2d-x android项目引用so库编译
- WCF、.Net Remoting、Web Service概念及区别
- 微信/易信公共平台开发(二):自定义菜单的PHP实现(提供源码)
- Linux 08
- 201521123048 《Java程序设计》第14周学习总结
- 巩固java(三)---java修饰符
- 为什么需要micro-service构建平台
- 【Android UI设计与开发】第03期:引导界面(三)仿微信引导界面以及动画效果
- (1)StringBuilder类和StringBuffer类 (2)日期相关的类 (3)集合框架 (4)List集合
- java基础学习总结——方法的重载(overload)
- 一学就会pip换镜像源
热门文章
- Luogu P3263 [JLOI2015]有意义的字符串
- PAT (Advanced Level) 1128~1131:1128N皇后 1129 模拟推荐系统(set<;Node>;优化) 1130 中缀表达式
- Adobe Illustrator CC 2017安装方法
- 解题报告:luogu P2678 跳石头
- 139. Word Break 以及 140.Word Break II
- 007、MySQL日期取当前时间,取昨天
- NO6 alias-unalias命令,递归创建目录,如何取消覆盖提示
- LeetCode1005 K次取反后最大化的数组和(贪心+Java简单排序)
- Golang的标准命令简述
- 通过fiddler修改通讯返回值