LeetCode hot100-24

java 复制代码
234. 回文链表

给你一个单链表的头节点 head ,请你判断该链表是否为
回文链表
。如果是,返回 true ;否则,返回 false 。

这题又写得和官方解法1一模一样了,就是空间复杂度为O(n)。如果想要空间复杂度为O(1)的话,官方解法3 是把后半部分链表翻转,然后两个指针分别往前后比较每个数。完了再把后半部分链表翻转回来。额,为了节省空间复杂度解法上有点复杂啊。就不贴这种解法了。

java 复制代码
/**
 * Definition for singly-linked list.
 * public class ListNode {
 * int val;
 * ListNode next;
 * ListNode() {}
 * ListNode(int val) { this.val = val; }
 * ListNode(int val, ListNode next) { this.val = val; this.next = next; }
 * }
 */
class Solution {
    public boolean isPalindrome(ListNode head) {

        List<Integer> list = new ArrayList<Integer>();
        while (head != null) {
            list.add(head.val);
            head = head.next;
        }
        int i = 0, j = list.size() - 1;
        while (i < j) {
            if (list.get(i) != list.get(j)) {
                return false;
            }
            i++;
            j--;
        }
        return true;

    }
}
相关推荐
啦啦啦啦啦zzzz9 小时前
贪心算法和动态规划
c++·算法·贪心算法·动态规划
happyprince9 小时前
篇3:bitsandbytes-深刻观-哲学与升华
人工智能·算法
应用市场9 小时前
红绿灯背后的算法:从 Webster 配时到 Max-Pressure 与强化学习
算法
木井巳9 小时前
【DFS解决floodfill算法】岛屿的最大面积
java·算法·leetcode·深度优先
yyds_yyd_1008610 小时前
877. 石子游戏(2026.08.02)& 486. 预测赢家(2026.08.01)
c++·leetcode
June`11 小时前
常量内存和只读缓存
c++·人工智能·算法·cuda
一条大祥脚11 小时前
ABC468 扫描线|贡献法|二阶差分|线段树优化DP
数据结构·算法
happyprince11 小时前
篇2-bitsandbytes-具体观-算法与实现剖析
算法
普通攻击往后拉21 小时前
Leetcode 206. 反转链表
算法·leetcode·链表
@syh.1 天前
【贪心】矩阵消除游戏
算法·游戏·矩阵