876.链表的中间结点

链表的中间结点

在这里插入图片描述

  一、求出链表的总长度count,再次遍历链表当index==count/2+1时,将此时的cur赋值给newHead(中间结点),无论链表长度为奇数还是偶数,index都应该等于count/2+1.

在这里插入图片描述

  二、使用双引用遍历(快慢指针),慢指针每次走一个结点,快指针每次走两个结点,此时,当快指针走到链尾时(快指针==null),慢指针就刚好走在中间结点了。需要注意的是:两个指针走的顺序必须是:快指针走一个->慢指针走一个->快指针再走一个(一个周期),并且在快指针每走一个结点后,都必须判断一下快结点是否为空,只有这样才可以保证只有一个元素的时候不会出现空指针异常,并且可以保证firstNode返回的是满足题目要求的样式(单数正中间,双数中间后面那个)

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值