leetcode中如何获取链表的中间结点
发表于:2024-11-28 作者:千家信息网编辑
千家信息网最后更新 2024年11月28日,这篇文章主要介绍leetcode中如何获取链表的中间结点,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!链表的中间结点给定一个带有头结点 head 的非空单链表,返回链表的中间结
千家信息网最后更新 2024年11月28日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安全错误
数据库的锁怎样保障安全
易班网络安全知识答案
陕西吉网网络技术有限公司
重庆网络软件开发流程报价表
农安先进网络技术售后服务
重庆高新区互联网科技
安徽系统软件开发费用
mfc 连接sql数据库
vs视图服务器资源管理器
拿到服务器最高管理权限
站群服务器是干什么用的
宽城区网络技术口碑推荐
与国家电网相关的网络安全公司
当今网络安全环境
大学网络技术学什么好
如何在服务器建立虚拟专线
关键 网络安全法
上海创智网络技术公司
苏州交友软件开发
服务器监控指标
tcl电视服务器显示异常
党的网络安全意识形态工作
华为哪个软件能倒数据库
井喷数据库
数据库连接池大概多少个
王者荣耀什么服务器最好上分
服务器内存泄露是什么原因
艺龙的网络技术
c s用什么软件开发
有32k的没密码的服务器
网络安全普及教育资料