当前位置:网站首页>LeetCode:876. 链表的中间结点————简单
LeetCode:876. 链表的中间结点————简单
2022-08-09 07:28:00 【Kinght_123】
题目
876. 链表的中间结点
给定一个头结点为 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 之间。
解题思路
- 设定两个指针,一个指针走一步,一个指针走两步。
- 当走两步的指针到达终点时,另一个指针所指向的数值就是答案。
Code
# Definition for singly-linked list.
# class ListNode:
# def __init__(self, val=0, next=None):
# self.val = val
# self.next = next
class Solution:
def middleNode(self, head: ListNode) -> ListNode:
cur1 = cur2 = head
while cur2 and cur2.next:
cur1 = cur1.next
cur2 = cur2.next.next
return cur1
运行结果
边栏推荐
猜你喜欢
链表专项练习(四)
Mysql实操
生成对抗网络GAN:Generative Adversarial Networks
jmeter concurrency and some limitations of the press
SiamFC:用于目标跟踪的全卷积孪生网络 fully-convolutional siamese networks for object tracking
【机器学习】支持向量机(SVM)代码练习
搭载开源鸿蒙系统的嵌入式XM-RK3568工业互联方案
设备指纹详解之识别垃圾账号
DIMP:Learning Discriminative Model Prediction for Tracking 学习判别模型预测的跟踪
01 自然语言处理NLP介绍
随机推荐
毕业我选择了保家卫国,退伍我选择了华为外包
【机器学习】降维代码练习
unity第一课
接口测试概念
postgresql窗口功能
Invoker 2019CCPC秦皇岛站I题 简单DP
SA-Siam:用于实时目标跟踪的双重连体网络A Twofold Siamese Network for Real-Time Object Tracking
常用测试用例设计方法之正交实验法详解
RestFul,会话技术,Fiddler
学习小笔记---机器学习
错误:为 repo ‘oracle_linux_repo‘ 下载元数据失败 : Cannot download repomd.xml: Cannot download repodata/repomd.
更改Jupyter Notebook默认打开目录
排序第三节——交换排序(冒泡排序+快速排序+快排的优化)(5个视频讲解)
Neural Network Optimizer
排序第一节——插入排序(直接插入排序+希尔排序)(视频讲解26分钟)
Mysql实操
找不到和chrome浏览器版本不同的chromedriver的解决方法
imageio读取.exr报错 ValueError: Could not find a backend to open `xxx.exr‘ with iomode `r`
makefile记录
Unity first lesson