阿里 LeetCode 876.链表的中间节点

附代码:

java 复制代码
class Solution {
    public ListNode middleNode(ListNode head) {
        ListNode fast = head,slow = head;
        while(fast != null && fast.next != null){
            fast = fast.next.next;
            slow = slow.next;
        }
        return slow;
    }
}

ACM模式:

java 复制代码
import java.util.Scanner;

class ListNode {
    int val;
    ListNode next;
    ListNode(int val) {
        this.val = val;
        this.next = null;
    }
}

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int n = scanner.nextInt();
        int[] nums = new int[n];
        for(int i = 0;i < n;i++){
            nums[i] = scanner.nextInt();
        }
        ListNode head = null;
        if(n > 0){
            head = new ListNode(nums[0]);
            ListNode cur = head;
            for(int i = 1;i < n;i++){
                cur.next = new ListNode(nums[i]);
                cur = cur.next;
            }
        }
        Solution solution = new Solution();
        ListNode mid = solution.middleNode(head);
        System.out.println(mid.val);
        scanner.close();
    }
}
class Solution {
    public ListNode middleNode(ListNode head) {
        ListNode fast = head, slow = head;
        while (fast != null && fast.next != null) {
            fast = fast.next.next;
            slow = slow.next;
        }
        return slow;
    }
}
相关推荐
致Great14 小时前
Qwen3.8-27B 接入 DSH 全流程实测:写代码、跑长任务,都没问题
算法
linux-hzh16 小时前
百日算法修炼 · Day 12
算法·深度优先
额额额对了16 小时前
数据结构:二叉树
c语言·数据结构·算法
iNeuOS工业互联网16 小时前
iNeuOS_Vision_视觉分析,增加SAM3模型对实例分割和目标检测AI自动标注图片样本功能
人工智能·算法·目标检测
qeen8716 小时前
【数据结构】红黑树的算法原理解析与实现
开发语言·数据结构·c++·算法·红黑树
码匠许师傅17 小时前
【C++ 面试真题】20. 聊聊 C++ 的标准库常用算法
c++·算法·面试
aqiu11111117 小时前
【算法刷题】蓝桥杯:0星际争霸(大数比较 + 多关键字自定义排序)
算法·排序·自定义排序
m0_5474866617 小时前
《数据结构与算法(Python语言版)》全套PPT课件2026
数据结构·算法
hold?fish:palm17 小时前
27 合并两个有序链表
数据结构·链表
个 人 练 习 生18 小时前
数据结构入门:算法复杂度
开发语言·数据结构·经验分享·学习·程序人生·算法