题目描述

对于一个链表,请设计一个时间复杂度为O(n),额外空间复杂度为O(1)的算法,判断其是否为回文结构。

给定一个链表的头指针A,请返回一个bool值,代表其是否为回文结构。保证链表长度小于等于900。OJ链接

示例:
思路描述:先找到链表的中间结点,中间结点之后的链表反转,从两边开始同时遍历比较,如果结点的值相同,则继续下一个结点,直到指针指向NULL结束;结点的值不相同,返回false。


代码:

class PalindromeList {public:bool chkPalindrome(ListNode* A) {struct ListNode* slow = A;struct ListNode* fast = A;while(fast != NULL && fast->next != NULL){fast = fast->next->next;slow = slow->next;}struct ListNode* head = slow;struct ListNode* cur = slow->next;struct ListNode* tail = slow;head->next = NULL;while(cur != NULL){head = cur;cur = cur->next;head->next = tail;tail = head;}cur = head;head = A;while(cur != NULL){if(cur->val == head->val){cur = cur->next;head = head->next;}else{return false;}}return true;}
};

链表的回文结构(有图易懂)相关推荐

  1. [数据结构]题海啊,全是水(三)链表中倒数第k个节点、链表的回文结构、链表分割

    这是一个目录 链表中倒数第k个节点 解法一 解法二 链表的回文结构 思路 代码 链表分割 思路 代码 最后 菜鸡大学生的数据结构--刷题篇3 我们的第三题小宝贝儿回归了! 菜鸡大学生明白,笔试oj题目 ...

  2. JAVA链表习题---回文结构(详细图解)

    回文结构 前言 什么是回文结构? 题目描述 思路分析 完整代码 前言 什么是回文结构? 回文结构:结构相同.方向相反的序列. 通俗讲,指一个顺着读和反过来读都一样的字符串. 特点:对称 题目描述 对于 ...

  3. 链表回文(牛客网:OR36 链表的回文结构)

    目录 前言 一,题目分析 1.1什么是回文 1.2题目分析 二,解题思路 情况一: 情况二: tips: 三,源码分享 前言 小伙伴们大家好啊!今天我们为大家带来一篇有关判断链表回文的文章.大家一旦想 ...

  4. 关于单链表,二叉树,图,查找和排序的软件编程

    课程名称:计算机软件 使用软件:devcpp 注意:这里列出了关于单链表,二叉树,图,查找和排序的编程,全部程序由博主一人编写,会有瑕疵,谨慎使用. 1.单链表 要求:(1)建立单向链表,表长任意: ...

  5. 【牛客】链表的回文结构

    ​​​​​​链表的回文结构_牛客题霸_牛客网 (nowcoder.com) 题目: 对于一个链表,请设计一个时间复杂度为O(n),额外空间复杂度为O(1)的算法,判断其是否为回文结构. 给定一个链表的 ...

  6. 链表的回文结构@Nowcoder—— 单链表

    小题解 1. 题目 2. 思路及小注意 3. 题解 1. 题目 题目链接:链表的回文结构 2. 思路及小注意 这道题目整合了之前几道题目,返回链表中间节点,反转单链表.需要比较熟悉. 判断是否为回文链 ...

  7. 链表的回文结构(算法笔记)

    单链表的换头问题 如果涉及到单链表的相关算法题中涉及到换头操作,方法需要返回值 简单问题一 打印两个有序链表的公共部分 问题二 判断一个链表是否为回文结构 [题目]给定一个单链表的头节点head,请判 ...

  8. LeetCode 链表的回文结构

    链表的回文结构 题目描述 对于一个链表,请设计一个时间复杂度为O(n),额外空间复杂度为O(1)的算法,判断其是否为回文结构. 给定一个链表的头指针A,请返回一个bool值,代表其是否为回文结构.保证 ...

  9. C语言习题——链表的回文结构

    如果是数组的话,直接找到中间下标,然后用两个指针,一个指向首元素,另一个指向最后一个元素,然后同时向中间走就能判断,但对于单链表来说,找到中间的结点是不能用下标访问的,所以采用快慢指针法,即慢指针一次 ...

最新文章

  1. 枚举 + 进制转换 --- hdu 4937 Lucky Number
  2. 如何在cnblogs中插入LaTeX数学公式
  3. 超图单值专题图 - 行政区划类型学习
  4. 可视化运行Python的神器Jupyter Notebook
  5. (教学思路 C#之类五)类的分类(静态类、实例类、嵌套类、结构、简单的抽象类、简单的密封类)...
  6. nginx+memcache实现页面缓存应用
  7. 1 Linux下ps aux下的各种进程状态
  8. 拉勾数据岗位和热门编程语言现状分析
  9. 数电笔记之无关项化简逻辑函数
  10. ssm框架组件及介绍
  11. 蚂蚁区块链第8课 如何创建新的账户,获取私钥和identity标识?
  12. CPU占用率爆满,服务器遭遇挖矿如何排查
  13. 手机连上wifi不能上网
  14. Java POI SXSSFWorkbook 读取模板,输出
  15. 《Java核心卷 I》第10版阅读笔记第八章(书第九章)
  16. 云服务器挂机装什么系统,哪个云服务器挂机器人系统比较便宜
  17. php 分页样式定制,Laravel自定义分页样式
  18. logistic回归模型python_【机器学习速成宝典】模型篇03逻辑斯谛回归【Logistic回归】(Python版)...
  19. canon佳能ip1000/1200/1600 废弃墨水吸收器已满解决办法(有效)
  20. mimikatz hash传递--获取域控权限

热门文章

  1. asp + Access简单翻页代码
  2. 辛普森悖论 - 一个统计学上的悖论
  3. 基于Android平台开发的手电筒Light
  4. ignite mysql_apache ignite系列(三):数据处理(数据加载,数据并置,数据查询)
  5. 【转】胡如珊——人生最重要的事情都是简单的
  6. jvm---G1、GC 日志及分析
  7. 新版本Gradle关于Aapt2遇到的一些坑
  8. 全方位揭秘!大数据从0到1的完美落地之HDFS的体系结构
  9. Linux配置ntp时间服务器(全)
  10. 网络内部搭建NTP服务器