阿里 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;
    }
}
相关推荐
wabs66611 分钟前
关于二叉树【429.N叉树的层序遍历的思考】
数据结构·c++·算法·leetcode·二叉树
hetao173383717 分钟前
2026-09-08 hetao1733837 的刷题记录
c++·算法
C++ 老炮儿的技术栈36 分钟前
MFC CPtrArray的用法
开发语言·数据结构·c++·算法·mfc·c
weixin_4462608542 分钟前
CABAL:用于追踪同行评审中合谋投标影响的多智能体仿真框架
人工智能·算法·机器学习
不会就选b43 分钟前
算法日常・每日刷题--<贪心>6
数据结构·算法·leetcode
青山木1 小时前
Hot 100 --- 跳跃游戏 II
java·数据结构·算法·leetcode·贪心算法
Tisfy1 小时前
LeetCode 3870.统计范围内的逗号:模拟 或 一步计算
数学·算法·leetcode·题解·模拟·遍历
明月_清风2 小时前
字符串匹配四大经典算法:BF、RK、BM、KMP 到底有什么区别?
后端·算法
明月_清风2 小时前
多模式字符串匹配:Trie 与 AC 自动机
后端·算法
木井巳2 小时前
【BFS/DFS 解决 FloodFill 算法】衣橱整理
java·算法·leetcode·深度优先·广度优先·宽度优先