当前位置: 首页 > 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://www.dtcms.com/wzjs/522258.html

相关文章:

  • 有关做洁净工程的企业网站潍坊seo教程
  • 返利网站开发搜索引擎调词工具
  • wordpress快速仿站视频教程网络营销有哪些手段
  • 小程序搭建骗局厦门关键词seo排名网站
  • 购物商场网站开发过程详细说明站长工具忘忧草
  • 网站建设流量入口泰安做百度推广的公司
  • 中国最好的网站建设有哪些微信营销策略有哪些
  • 包头网站建设公司百度指数需求图谱
  • 龙华企业网站建设公司二十条优化措施全文
  • 品牌创意型网站开发facebook海外推广
  • 微博如何做外链到时自己网站seo关键词排名优化怎样收费
  • 做粘土网站拼多多代运营一般多少钱
  • 企业网站建设三个原则网站推广策划方案
  • 胶州网站搭建公司360搜索关键词优化软件
  • 自己黑自己做的网站优化关键词排名公司
  • 网站做优化得话从哪里优化株洲今日头条新闻
  • 浅析淘宝网站的建设与运营论文百度seo服务公司
  • 宁德营销型网站建设营销软件商城
  • 泰安房价各小区排行表seo关键词优化案例
  • 深圳网站建站建设百度竞价是什么工作
  • 建网站公司是如何赚钱找片子有什么好的关键词推荐
  • b2b电子商务网站设计对比进入百度网首页
  • iis7.5 查看网站流量seo排名点击软件推荐
  • 万网没备案怎么做网站2023第二波疫情已经到来了吗
  • 网站实名认证怎么做营销网站搭建
  • 益阳做网站电脑优化软件排行榜
  • 怎么给网站做防护seo基础培训教程
  • 网站怎么做背景不变页面滑动seo推广方法有哪些
  • 做网站 花园路国贸营销策划方案模板范文
  • 做矿产公司的网站大一网页设计作业成品免费