当前位置: 首页 > news >正文

dns加网站免费搭建微信小程序

dns加网站,免费搭建微信小程序,线上外贸平台有哪些,上海十大科技公司题目:给你一个单链表的头节点 head ,请你判断该链表是否为回文链表。如果是,返回 true ;否则,返回 false 。 示例 1: 输入:head [1,2,2,1] 输出:true示例 2: 输入&…

题目:给你一个单链表的头节点 head ,请你判断该链表是否为回文链表。如果是,返回 true ;否则,返回 false 。

示例 1:

输入:head = [1,2,2,1]
输出:true

示例 2:

输入:head = [1,2]
输出:false

解题思路+代码:

代码:

/*** Definition for singly-linked list.* public class ListNode {*     int val;*     ListNode next;*     ListNode() {}*     ListNode(int val) { this.val = val; }*     ListNode(int val, ListNode next) { this.val = val; this.next = next; }* }*/
class Solution {public boolean isPalindrome(ListNode head) {/**思路:1.判断链表是否为空或者单节点链表,为空直接返回true2.添加快慢指针,快指针一次走2步,慢指针一次走1步,即快指针的速度是慢指针的2倍(此时当快指针遍历到链表的最后,慢指针遍历到链表的中间)3.反转后半部分链表,与前半部分链表逐一匹配,一一对应返回true,否则返回false*/if (head == null || head.next == null){return true;}// 声明快慢指针ListNode fastNode = head;ListNode slowNode = head;// 遍历链表,慢指针找到链表中点while(fastNode != null && fastNode.next != null){slowNode = slowNode.next;fastNode = fastNode.next.next;}//反转慢指针后半部分链表与前半部分链表逐一匹配ListNode resversHalfList  = resversList(slowNode);ListNode P1 = head;ListNode p2 = resversHalfList;boolean res = true;while(p2 != null){if(P1.val != p2.val){res = false;break;}P1 = P1.next;p2 = p2.next;}// resversList(resversHalfList);return res;}private ListNode resversList(ListNode head){ListNode pre = null;ListNode cur = head;while(cur != null){ListNode nextTemp = cur.next;cur.next = pre;pre = cur;cur = nextTemp;}return pre;}}

总结:(错误思路:写这道题时我最初的思路是找到中间最大的数,然后依次向左右两边逐一遍历判断是否对称相等,一一对应为true,否则为false。)没错,上面的思路有很大的问题,且时间空间复杂度会相对复杂,因此我使用AI查询了我解题思路的错误所在。一:在回文链表当中,最大的数可能不止一个,此时的回文链表在找到最大的中间数依次向左右两侧依次遍历也可能会得到与预期相反的结果;二:通过指针向左右依次遍历判断不如快慢指针(上述代码有相应的解释如何找到链表的中点)找到中点后将前(后)链表部分反转,首先可判断前后部分的长度是否相等,不相等直接返回false,长度相等时则继续逐一匹配,直到确定是回文链表时返回true,使用快慢指针来遍历链表的时间和空间复杂度相对而言较简单,耗时较短。

http://www.yayakq.cn/news/437681/

相关文章:

  • 后浪 网站建设类上海都有哪些企业公司
  • 建设020网站需要多少钱正规的企业网站建设
  • 渭南企业网站建设鲅鱼圈企业网站建设
  • 个人网站做什么内容好成都营销型网站制作公司
  • 推介网站描述建设网站的一个具体步骤
  • 8网站免费建站网页设计需要学什么东西
  • 火车票网站建设菠萝蜜影视传媒有限公司
  • 保洁公司在哪个网站做推广比较好阿里云服务器架设网站
  • 公司网站实用性湖北网站推广服务
  • 上海工程建设信息网站企业所得税的计算公式
  • 交友最好的网站建设搜索排名seo
  • 武安专业做网站有货源怎么做电商
  • 三网合一网站建设是指什么北京综合网络营销哪里好
  • 拉丝机东莞网站建设保定网站制作费用
  • 网站做了301怎么查看跳转前网站交互设计网站案例
  • 企业建网站租用服务器好还是买一个好网站开发连接数据库的方法
  • 刷网站软件宁波建设网上银行
  • 潍坊 公司 网站创新的企业网站建设
  • 雅安做网站的公司wordpress幻灯箱插件
  • mvc5 网站开发之美 pdf设计网站账号
  • 企业 网站 程序网站建设的内部风险分析
  • 网站建设项目总结怎么创建微信公众号免费
  • 产品宣传网站开发书店网站模板
  • 互动网站案例河北建设集团股份有限公司
  • seo网站优化培训班五大建设的主要内容
  • 关于企业网站建设数据现状分析wordpress怎么修改首页
  • 做商城网站设计国外ps设计图网站
  • 海口网站推广公司深圳网络营销推广专员
  • 在线设计 网站源码php网站颜色改变
  • 网站设计理念怎么写中国核工业二三建设有限公司是国企吗