leetcode中如何获取链表的中间结点
发表于:2025-02-02 作者:千家信息网编辑
千家信息网最后更新 2025年02月02日,这篇文章主要介绍leetcode中如何获取链表的中间结点,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!链表的中间结点给定一个带有头结点 head 的非空单链表,返回链表的中间结
千家信息网最后更新 2025年02月02日leetcode中如何获取链表的中间结点
这篇文章主要介绍leetcode中如何获取链表的中间结点,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
链表的中间结点
给定一个带有头结点 head 的非空单链表,返回链表的中间结点。
如果有两个中间结点,则返回第二个中间结点。
示例 1:输入:[1,2,3,4,5]输出:此列表中的结点 3 (序列化形式:[3,4,5])返回的结点值为 3 。(测评系统对该结点序列化表述是 [3,4,5])。注意,我们返回了一个 ListNode 类型的对象 ans,这样:ans.val = 3, ans.next.val = 4, ans.next.next.val = 5, 以及 ans.next.next.next = NULL.
示例 2:输入:[1,2,3,4,5,6]输出:此列表中的结点 4 (序列化形式:[4,5,6])由于该列表有两个中间结点,值分别为 3 和 4,我们返回第二个结点。
提示:给定链表的结点数介于 1 和 100 之间。
思路:
涉及到链表,不管是单链表还是双链表,一定要画图分析,这种不难
一般的套路解决方法是快慢指针,或者使用辅助列表解决问题
# Definition for singly-linked list.
# class ListNode:
# def __init__(self, x):
# self.val = x
# self.next = None
class Solution:
def middleNode(self, head: ListNode) -> ListNode:
if head is None or head.next is None:
return head
# 辅助列表
'''
l = []
while head:
l.append(head)
head = head.next
return l[len(l)//2]
'''
# 快慢指针
# slow 走一步, fast每次走l两步,当fast走到末尾时,slow走到中间
slow = head
fast = head
while fast and fast.next:
slow = slow.next
fast = fast.next.next
return slow
以上是"leetcode中如何获取链表的中间结点"这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注行业资讯频道!
结点
序列
两个
内容
形式
快慢
指针
示例
篇文章
辅助
输入
输出
之间
价值
兴趣
双链
套路
对象
小伙
小伙伴
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
服务器开机自检是什么原因
武汉市网络安全高地
微信小程序java 数据库
安费诺插接件3d数据库
构建网络安全威胁能力是安全
4u服务器散热量多少瓦
软件开发企业有什么资质证书
大茶埠网络技术
网络安全周直播2020
网络安全技术与知识点
浪潮服务器的产地
太仓plm软件开发
小妖精美化软件开发
十进制网络技术与应用
互联网科技与数字化
四川科技职业学院互联网学院
安卓管理服务器
招商银行软件开发岗待遇
中国电子网络安全创新
数据库pb的导入
关于2018网络安全的横幅
网络安全先进申报
万德数据库机构名片
软件开发培养机构
服务器更新网页数据的方法
上海服务器设备回收多少钱
数据库登录时 服务器名称
配置文件存数据库优劣
数据库登录密码忘
服务器几核电脑配置一样吗