Leetcode234.判断是否是回文单链表

题目描述

思路,把单链表转化为ArrayList,然后比较前后两个数是否相等。

    class Solution {
        public boolean isPalindrome(ListNode head) {
            if (head == null) {
                return false;
            }
            List<Integer> valList = new ArrayList<Integer>();
            ListNode tmp = head;
            while (tmp != null) { 
                valList.add(tmp.val); //把单链表节点的数值,存储到ArrayList中,方便比较。
                tmp = tmp.next;
            }
            /**
             * 1. 只比较一半:(valList.size() - 1) / 2
             * 2. 小于等于
             */
            for (int i = 0; i <= (valList.size() - 1) / 2; i++) { //注意这里的小于等于
                if (valList.get(i) != valList.get(valList.size() - 1 - i)) {
                    return false;
                }
            }
            return true;
        }
    }

如果用双指针的写法,代码如下:

        public boolean isPalindromeWithDoublePoint(ListNode head) {
            if (head == null) {
                return false;
            }
            List<Integer> valList = new ArrayList<Integer>();
            ListNode tmp = head;
            while (tmp != null) {
                valList.add(tmp.val); //把单链表节点的数值,存储到ArrayList中,方便比较。
                tmp = tmp.next;
            }

            int front = 0;
            int back = valList.size() - 1;
            while (front < back) {
                if (valList.get(front) != valList.get(back)) {
                    return false;
                }
                back--;
                front++;
            }
            return true;
        }

相关推荐

  1. Leetcode234.判断是否

    2024-07-11 02:54:02       20 阅读
  2. leetcode 234

    2024-07-11 02:54:02       43 阅读
  3. 234.

    2024-07-11 02:54:02       36 阅读
  4. 234.

    2024-07-11 02:54:02       32 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-11 02:54:02       67 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-11 02:54:02       72 阅读
  3. 在Django里面运行非项目文件

    2024-07-11 02:54:02       58 阅读
  4. Python语言-面向对象

    2024-07-11 02:54:02       69 阅读

热门阅读

  1. 基于深度学习的点云降噪

    2024-07-11 02:54:02       22 阅读
  2. Git 一种分布式版本控制系统

    2024-07-11 02:54:02       20 阅读
  3. C# —— FileStream文件流

    2024-07-11 02:54:02       21 阅读
  4. Pandas 进阶 —— 数据转换、聚合与可视化

    2024-07-11 02:54:02       24 阅读
  5. Ubuntu 22.04.1 LTS 离线安装Docker

    2024-07-11 02:54:02       21 阅读
  6. Perl文件系统探险家:自定义遍历策略全攻略

    2024-07-11 02:54:02       20 阅读
  7. 详解Go语言中的Goroutine组(Group)在项目中的使用

    2024-07-11 02:54:02       18 阅读
  8. numpy学习

    2024-07-11 02:54:02       20 阅读
  9. arm64架构下源码编译安装kafka —— 筑梦之路

    2024-07-11 02:54:02       24 阅读