请编写一个函数,检查链表是否为回文。
给定一个链表ListNode* pHead,请返回一个bool,代表链表是否为回文。
测试样例:
{1,2,3,2,1}
返回:true
{1,2,3,2,3}
返回:false
[编程题]回文链表.。。。。。。。。。
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
4条回答 默认 最新
- havedream_one 2015-08-27 14:41关注
import java.util.*; /* public class ListNode { int val; ListNode next = null; ListNode(int val) { this.val = val; } }*/ public class Palindrome { public boolean isPalindrome(ListNode pHead) { //用于存储一半的链表 ArrayList<Integer> list = new ArrayList<Integer>(); ListNode p = pHead; if(p.next == null){ //只有一个节点 return true; } ListNode q = p; int count = 0; while( q.next != null){ q = q.next; count++; if(count == 2){ list.add(p.val); p = p.next; count=0; } } int len = list.size(); if(count != 0){ //偶数节点 list.add(p.val); len++; } p = p.next; //System.out.println(list); while(p != null){ if(p.val != list.get(len-1)){ return false; } len--; p = p.next; } return true; } }
解决 无用评论 打赏 举报
悬赏问题
- ¥15 #MATLAB仿真#车辆换道路径规划
- ¥15 java 操作 elasticsearch 8.1 实现 索引的重建
- ¥15 数据可视化Python
- ¥15 要给毕业设计添加扫码登录的功能!!有偿
- ¥15 kafka 分区副本增加会导致消息丢失或者不可用吗?
- ¥15 微信公众号自制会员卡没有收款渠道啊
- ¥100 Jenkins自动化部署—悬赏100元
- ¥15 关于#python#的问题:求帮写python代码
- ¥20 MATLAB画图图形出现上下震荡的线条
- ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘