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;

    }
}
相关推荐
小竹子1423 分钟前
L1-1 天梯赛座位分配
数据结构·c++·算法
董董灿是个攻城狮32 分钟前
Transformer 通关秘籍8:词向量如何表示近义词?
算法
独好紫罗兰1 小时前
洛谷题单2-P5712 【深基3.例4】Apples-python-流程图重构
开发语言·python·算法
uhakadotcom1 小时前
NVIDIA Resiliency Extension(NVRx)简介:提高PyTorch训练的容错性
算法·面试·github
梭七y1 小时前
【力扣hot100题】(020)搜索二维矩阵Ⅱ
算法·leetcode·职场和发展
v维焓2 小时前
C++(思维导图更新)
开发语言·c++·算法
ylfhpy2 小时前
Java面试黄金宝典22
java·开发语言·算法·面试·职场和发展
Phoebe鑫2 小时前
数据结构每日一题day9(顺序表)★★★★★
数据结构·算法
烁3472 小时前
每日一题(小白)动态规划篇2
算法·动态规划
南玖yy3 小时前
数据结构C语言练习(栈)
c语言·数据结构·算法