LeetCode 876

题目LeetCode 876

解法一:快慢指针

注意while循环条件,以链表(1,2,3,4,null)为例:

  • 当条件为fast != null && fast.next != null时,若链表元素为偶数个,则返回中间的后一个节点(3)
  • 当条件为fast.next != null && fast.next.next != null时,若链表元素为偶数个,则返回中间的前一个节点(2)

若链表元素为奇数个,则都返回中间节点

java 复制代码
    public ListNode middleNode(ListNode head) {
        ListNode slow = head, fast = head;
        while (fast != null && fast.next != null) {
            slow = slow.next;
            fast = fast.next.next;
        }
        return slow;
    }
相关推荐
96771 分钟前
理解IOC控制反转和spring容器,@Autowired的参数的作用
java·sql·spring
SY_FC1 分钟前
实现一个父组件引入了子组件,跳转到其他页面,其他页面返回回来重新加载子组件函数
java·前端·javascript
啵啵鱼爱吃小猫咪18 分钟前
机械臂阻抗控制github项目-mujoco仿真
开发语言·人工智能·python·机器人
似水明俊德19 分钟前
02-C#
开发语言·c#
耀耀_很无聊20 分钟前
09_Jenkins安装JDK环境
java·运维·jenkins
ノBye~21 分钟前
Centos7.6 Docker安装redis(带密码 + 持久化)
java·redis·docker
黑臂麒麟22 分钟前
openYuanrong:多语言运行时独立部署以库集成简化 Serverless 架构 & 拓扑感知调度:提升函数运行时性能
java·架构·serverless·openyuanrong
放下华子我只抽RuiKe523 分钟前
算法的试金石:模型训练、评估与调优的艺术
人工智能·深度学习·算法·机器学习·自然语言处理·数据挖掘·线性回归
oem11025 分钟前
C++中的享元模式实战
开发语言·c++·算法
流云鹤26 分钟前
每日一题0316
算法