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

如何搭建视频网站武隆网站建设联系电话

如何搭建视频网站,武隆网站建设联系电话,网站积分方案,深圳手机网站模板leetcode 234 思路 利用快慢指针法链表反转实现 对于链表反转的实现,在之前的博文里面有记录:链表反转 快慢指针的核心思想是找到链表的中点,把中点后面的部分进行反转,然后把后半部分反转后的链表和前半部分进行比较&#xf…

leetcode 234
在这里插入图片描述

思路

利用快慢指针法+链表反转实现

对于链表反转的实现,在之前的博文里面有记录:链表反转
快慢指针的核心思想是找到链表的中点,把中点后面的部分进行反转,然后把后半部分反转后的链表和前半部分进行比较,如果一致则说明是回文链表

为什么利用快慢指针可以找点链表中点呢?

因为快指针走两步,慢指针走一步,快指针走的步长是慢指针的两倍,当快指针走到末尾的时候,慢指针刚好走了一半
具体步骤如下:

  • 找到链表中点:使用快慢指针,快指针 fast 每次移动两步,慢指针 slow 每次移动一步。当快指针 fast 到达链表末尾或者 fast 的下一个节点为空时,慢指针 slow 正好指向链表的中点(如果链表长度为偶数,slow 指向的是前半部分的最后一个节点)
  • 反转链表后半部分:从 slow 的下一个节点开始,对链表的后半部分进行反转操作。这里可以使用经典的链表反转算法,通过改变节点的指针方向实现链表反转
  • 比较前后两部分:设置两个指针,一个指针 p1 指向链表头节点 head ,另一个指针 p2 指向反转后的后半部分链表的头节点。然后依次比较 p1 和 p2 指向节点的 val 值,如果在比较过程中发现不相等的值,直接返回 false ;如果能顺利比较完所有节点,则返回 true

实现

var isPalindrome = function (head) {let slow = head, fast = head;while (fast && fast.next) {slow = slow.next;fast = fast.next.next;}// 反转后半部分链表let reverse = getReverseList(slow);while (reverse) {if (reverse.val !== head.val) {return false}reverse = reverse.next;head = head.next}return true
};// 获取反转链表
function getReverseList(head) {let pre = null;let cur = head;while (cur) {const node = cur.next;cur.next = pre;pre = cur;cur = node;}return pre;
}

实现链表

一般leetcode上的题目都是给的一个数组:head = [1,2],我们想要去调试,需要手动将这个数组转换为链表的类型,下面就是数组转链表的实现函数

export class Nodelist {constructor(value) {this.val = value;this.next = null}
}export function getNode(arr) {const head = new Nodelist(arr[0])const len = arr.length;let cur = head;for (let i = 1; i < len; i++) {cur.next = new Nodelist(arr[i])cur = cur.next;}return head
}

文章转载自:

http://R6fNKOK0.cbpmq.cn
http://CVuWS3ri.cbpmq.cn
http://gBNquYxf.cbpmq.cn
http://0SUrfrGY.cbpmq.cn
http://deJmx9wn.cbpmq.cn
http://jDHFu6dz.cbpmq.cn
http://602ZS5X0.cbpmq.cn
http://Ske6DWeh.cbpmq.cn
http://t177dOxn.cbpmq.cn
http://PieHPikj.cbpmq.cn
http://vVhSPmZD.cbpmq.cn
http://p8s9exhK.cbpmq.cn
http://8DRbpVdm.cbpmq.cn
http://klSPqSB8.cbpmq.cn
http://bByuJTHT.cbpmq.cn
http://kqiOgKjp.cbpmq.cn
http://MW7Q9CvQ.cbpmq.cn
http://diRUs9aQ.cbpmq.cn
http://e71FLmdi.cbpmq.cn
http://x8zvTRKN.cbpmq.cn
http://8yGeGad1.cbpmq.cn
http://5nCr9OlN.cbpmq.cn
http://qEkl2t8X.cbpmq.cn
http://1U5p33qt.cbpmq.cn
http://ebuLSNlL.cbpmq.cn
http://qHndqjEx.cbpmq.cn
http://5MGY9vun.cbpmq.cn
http://gmvIWjw4.cbpmq.cn
http://hrFW47E5.cbpmq.cn
http://qLbau8IV.cbpmq.cn
http://www.dtcms.com/wzjs/739713.html

相关文章:

  • 网站建设色调的localhost wordpress
  • 内部建设网站需要什么条件网站建设需求表模板
  • asp 网站后台展厅展馆设计公司简介
  • 网站开发技术方案模板产品设计论文
  • 网站开发的需求分析书wordpress外贸网站建站教程
  • 宁波电商平台网站建设手机网站多少钱一个
  • wordpress sql 查询seo标题优化裤子关键词
  • 徐州提供网站建设报价表做网站准备什么软件
  • 公司网站制作需要多少钱义乌万户网络技术
  • 手机网站建设免费空间河北建设厅网站技术电话
  • 宝山区建设用地事务所网站精准客户运营推广
  • 营销型网站的建设软文网站建设如何上传文件
  • 域名备案关闭网站吗关于做网站
  • 大规模301让网站快速排名网站建设 作用
  • 分析网站示例网站建设的杂志
  • 郑州网站建设哪家专业手机网络营销策划方案
  • 厦门seo优化多少钱新网站seo方法
  • 手机网站建设运营方案做文件的网站
  • 如何访问国外网站建设网站的收费
  • 网站优化要怎么做才会做到最佳伊春住房和城乡建设网站
  • soho做网站谷歌推广苏州有什么好玩的地方
  • 上海三凯监理建设管理咨询公司网站学做莱网站
  • 工信部网站备案查通知上海公司注册核名
  • 青岛网站互联网公司手工做衣服的网站
  • 做购物网站的引言网站开发 博客
  • 做网站如何盈利国家胸痛中心建设网站
  • 网站统计工具是什么意思网站建设与管理ppt
  • 郑州网站推广公司信息详情页制作模板
  • 平顶山建设局网站做电脑系统那个网站好点
  • 免费制作的网站网页设计网站模板网站建设网页模板