package com.zuo.linkedlist;import java.util.Stack;import com.zuo.linkedlist.IsPalindrome1.Node;/*** 题目:给定一个头结点,判断该链表是否回文结构* 例如:* 1->2->1 true* 1->2->2->1 true* 1->2->3 false* 思路:我们针对前面进行优化,空间复杂度要减少一半,可以把链表对折,把右边的一半压入stack* 然后把链表的左边和压入的到stack弹出来,就行对比* 比如:1->2->2->1* 右边的数据是2,1* 1->2->3* 右边的数据是3* */
public class IsPalindrome2 {static class Node{public int val;public Node next;public Node(int val){this.val=val;}}public boolean isPalindrome2(Node head){if(head==null){return false;}Stack<Node> stack=new Stack<Node>();Node right=head.next;Node cur=head;while(cur.next!=null && cur.next.next!=null){  //得到右边开始的下标,请记住这个地方是需要先写cur.next!=null right=right

链表之判断一个链表是否为回文结构(二)相关推荐

  1. 链表之判断一个链表是否为回文结构(一)

    package com.zuo.linkedlist;import java.util.Stack;import com.zuo.linkedlist.Josephuskill2.Node;/*** ...

  2. 链表之判断一个链表是否为回文结构(三)

    package com.chenyu.zuo.linkedList;import com.chenyu.zuo.linkedList.PrintCommonPart.Node;/*** 题目:给定一个 ...

  3. 【链表】判断一个链表是否是回文链表

    思路一:链表转为字符串,判断字符串是否是回文串 思路二:双指针 可以使用快慢指针,快指针的速度是慢指针的两倍,当快指针到达链表尾部时 ,慢指针到达中间位置.将慢指针之后的部分进行反转,再与前半部分比较 ...

  4. 算法练习day9——190327(“之” 字形打印矩阵、在行列都排好序的矩阵中找数、打印两个有序链表的公共部分、判断一个链表是否为回文结构)

    1."之" 字形打印矩阵 [题目] 给定一个矩阵matrix, 按照"之" 字形的方式打印这个矩阵, 例如: 1 2 3 4 5 6 7 8 9 10 11 1 ...

  5. 数据结构与算法之打印两个有序链表公共部分和判断一个链表是否具有回文结构

    数据结构与算法之打印两个有序链表公共部分和判断一个链表是否具有回文结构 目录 打印两个有序链表公共部分 判断一个链表是否具有回文结构 1. 打印两个有序链表公共部分 1.问题描述 思路:Node1和N ...

  6. 牛客题霸 [判断一个链表是否为回文结构] C++题解/答案

    判断一个链表是否为回文结构 题目描述 给定一个链表,请判断该链表是否为回文结构. 题解: 直接将链表内的数据存入string中,然后从两端开始向中间判断即可 代码: /*** struct ListN ...

  7. c语言数据结构判断回文数,C++数据结构与算法之判断一个链表是否为回文结构的方法...

    本文实例讲述了C++判断一个链表是否为回文结构的方法.分享给大家供大家参考,具体如下: 题目: 给定一个链表头节点head,请判断是否为回文结构 例如: 1->2->1 true 1-&g ...

  8. 判断一个链表是否为回文结构【Java实现】

    题目:给定一个链表的头节点head,请判断该链表是否为回文结构. 如:1 2 1 返回true 1 2 2 1 返回true 1 2 3 返回false 思路一: 利用栈,从左到右遍历链表,然后将每一 ...

  9. 刷题日记-判断一个链表是否为回文结构

    判断一个链表是否为回文结构 描述 给定一个链表,请判断该链表是否为回文结构. 回文是指该字符串正序逆序完全一致. 数据范围: 链表节点数 0≤n≤10510^5105,链表中每个节点的值满足∣val∣ ...

最新文章

  1. python中str和int区别_Python如何比较string和int?
  2. C++ leetcode 21. 合并两个有序链表 将两个升序链表合并为一个新的升序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。
  3. 【Android】手机端的投射
  4. linux网络编程之IP协议首部格式与其配套使用的四个协议(ARP,RARP,ICMP,IGMP)和TCP、UDP协议头结构总结
  5. 前n个正整数相乘的时间复杂度为_初一数学上期末|21个考点全面讲解,收藏了复习一遍,期末高分不愁!...
  6. mysql查询m到n条数据库,对查询数据库中第M到N条记录的思考
  7. UVA216 UVALive5155 Getting in Line【全排列+回溯】
  8. CRM给B2B企业带来的影响
  9. rxbus 源码_RxBus学习
  10. POE交换机和普通交换机哪里不同?POE交换机和普通交换机哪个好?
  11. Java项目学校教务教学管理系统源码,基于springboot+mybatis+layui+shiro+jquery开发
  12. java用ssm框架开发的空气质量检测系统源码网站实战项目
  13. QC新旧七图汇总连载9——亲和图
  14. Zigbee应用开发 协调器控制多个终端
  15. 洛谷 P1617 爱与愁的一千个伤心的理由
  16. 大学本科毕业生如何免费进行论文查重
  17. 什么工作工资高?怎么找适合自己的高薪工作?
  18. 计算抽象:可计算理论、模型与计算机
  19. 超级实习生计划学习打卡——流式计算
  20. Django教程(安装PythonPycharmDjango)

热门文章

  1. 分布式事务最终一致性-CAP框架轻松搞定
  2. .Net单元测试方法
  3. 玩转Github —— Octotree Chrome插件
  4. Polly-故障处理和弹性应对很有一手
  5. 为什么有些大公司的效率弱爆了?
  6. C#连接MySQL数据库实例
  7. 一款基于.NET Core的认证授权解决方案-葫芦藤1.0开源啦
  8. 2020 中国开源年会(COSCon'20)再启程:开源向善(Open Source for Good)
  9. BeetleX.FastHttpApi之Vuejs扩展
  10. 什么样的女生适合学计算机?