当前位置: 首页> 健康> 知识 > Leetcode234.判断是否是回文单链表

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

时间:2025/7/12 5:57:54来源:https://blog.csdn.net/zhangjin1120/article/details/140332352 浏览次数:0次

题目描述

思路,把单链表转化为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;}
关键字:Leetcode234.判断是否是回文单链表

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: