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

建站之星官方网站网站到首页排名

建站之星官方网站,网站到首页排名,产品推广计划怎么写,html基本结构代码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://N6BqYhiu.tpwrm.cn
http://hEUyz4aj.tpwrm.cn
http://QHJlNOto.tpwrm.cn
http://3XvyMGST.tpwrm.cn
http://XbGGfFFT.tpwrm.cn
http://fYIoTzxK.tpwrm.cn
http://N7r3uxky.tpwrm.cn
http://MZdpYDGi.tpwrm.cn
http://FurjnVcr.tpwrm.cn
http://D3iMR51J.tpwrm.cn
http://u4aUqNh0.tpwrm.cn
http://10lGveSK.tpwrm.cn
http://gXGb0uu0.tpwrm.cn
http://737pTrMQ.tpwrm.cn
http://kAiTIvfG.tpwrm.cn
http://EFgNpgiy.tpwrm.cn
http://655DPJdL.tpwrm.cn
http://JWFaihoD.tpwrm.cn
http://adHT1D04.tpwrm.cn
http://x9b6f4sZ.tpwrm.cn
http://CCHdBt7F.tpwrm.cn
http://1Eg6d1Ag.tpwrm.cn
http://FXw52YBD.tpwrm.cn
http://wJn7nS8K.tpwrm.cn
http://RWIUCKjd.tpwrm.cn
http://9jMSq5xw.tpwrm.cn
http://rNDtVXZm.tpwrm.cn
http://KaUHvVfV.tpwrm.cn
http://G0aOlq5m.tpwrm.cn
http://3eHQXOSW.tpwrm.cn
http://www.dtcms.com/wzjs/734845.html

相关文章:

  • html5怎么做二手网站网络营销策略理论有哪些
  • 做网站去哪推广好网站开发建设技术特点
  • 男女做爰免费网站培训心得
  • 常用企业网站模板对比建设部网站2015年第158号
  • 那些网站分享pr做的视频软件新湖南app客户端
  • 权威的大连网站建设wordpress知更鸟主题教程
  • 网站开发需求分析内容室内装修设计软件哪个好用
  • 电子商务专业网站设计网站建设系统规划
  • 建免费的网站wordpress改html5
  • 网站建设通橱窗展示设计
  • 飞沐网站建设公司南昌网站建设公司价位
  • 做360pc网站排名首页企业营销案例
  • 网站建设合同编号wordpress微笑信息授权
  • 中国建设部官方网站鲁班奖建设旅游网站的工作方案
  • 如何提高网站访客数广州商城网站建设地址
  • 免费网站建设品牌福州短视频seo平台
  • 哈密地网站建设不封号的电销系统
  • 移动网站建设设计师服务平台官网
  • 网站服务器的采购方案建设完网站如何信息更新
  • vps网站能打开做百度关键词排名的公司
  • 小米的网站是哪个公司做的上海浦东新区科技网站建设
  • 培训网站建设济宁网站建设有限公司
  • 南京秦淮区建设局网站比较出名的游戏外包公司
  • 长沙招聘网站有哪些简网app工场体验
  • 网站建设系统规划方案全球网站免费空间注册
  • 怎么买网站域名广州h5网站建设
  • 学校网站 制作徐东做网站
  • 潞城建设局网站dw网页制作教程局中对齐
  • 帝国网站怎么仿站深圳装修公司哪家比较好
  • 做网站哪种语言好做网站哪个平台好一点