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

海南房产网站建设前端培训费用大概多少

海南房产网站建设,前端培训费用大概多少,品牌网站建设公司有哪些,如何个人电脑做网站02.06、[简单] 回文链表 1、题目描述 编写一个函数,检查输入的链表是否是回文的。 2、解题思路: 快慢指针找中点: 利用快慢指针的技巧来找到链表的中间节点。慢指针 slow 每次移动一步,而快指针 fast 每次移动两步。这样&…

02.06、[简单] 回文链表

1、题目描述

编写一个函数,检查输入的链表是否是回文的。

2、解题思路:

  1. 快慢指针找中点:
    • 利用快慢指针的技巧来找到链表的中间节点。慢指针 slow 每次移动一步,而快指针 fast 每次移动两步。这样,当快指针到达链表末尾时,慢指针恰好位于链表中间。
  2. 反转后半部分链表:
    • 在找到中间节点后,将链表的后半部分反转。我们从 slow->next 开始反转链表,最终 newhead 将指向反转后的后半部分链表的头节点。
  3. 对比前半部分和后半部分:
    • 反转链表的后半部分后,将它与前半部分进行比较。如果所有节点值相等,则说明链表是回文的。
  4. 返回结果:
    • 如果比较过程中发现不一致,则返回 false。如果全部节点相等,则返回 true

3、代码实现与详细注释

class Solution {
public:bool isPalindrome(ListNode* head) {// 如果链表为空或只有一个节点,直接返回 trueif (head == nullptr || head->next == nullptr) {return true;}// 使用快慢指针找到链表的中间节点ListNode* fast = head;ListNode* slow = head;while (fast->next && fast->next->next) {slow = slow->next;  // 慢指针每次移动一步fast = fast->next->next;  // 快指针每次移动两步}// 将链表的后半部分反转ListNode* newhead = slow->next;  // newhead 指向后半部分的开始节点ListNode* prev = nullptr;  // 用于反转链表while (newhead->next) {ListNode* next = newhead->next;  // 保存下一个节点newhead->next = prev;  // 当前节点的 next 指向前一个节点prev = newhead;  // prev 指向当前节点,逐步推进newhead = next;  // newhead 移动到下一个节点}newhead->next = prev;  // 最后一个节点反转后,形成新的链表// 对比前半部分和反转后的后半部分是否相同slow = head;  // slow 回到链表头部while (newhead) {  // 遍历反转后的链表if (newhead->val != slow->val) {  // 如果值不相等,返回 falsereturn false;}slow = slow->next;  // 两个指针同时移动newhead = newhead->next;}// 如果链表前后部分相同,则返回 truereturn true;}
};

4、时间复杂度和空间复杂度:

  • 时间复杂度: O(n),其中 n 是链表的长度。我们遍历链表两次,一次是找到中点,另一次是进行比较。
  • 空间复杂度: O(1),因为只使用了常数额外空间。

这个方法通过快慢指针和链表反转的技巧,避免了额外的空间开销,是一个比较高效的解决方案。

http://www.qdjiajiao.com/news/1207.html

相关文章:

  • 吉林省水土保持生态建设网站seo 知乎
  • dns劫持网站怎么做数据分析方法
  • 自己电脑做网站空间免费的精准引流软件
  • 移动端手机网站建设今日国际新闻头条新闻
  • 怎样做网站连接百度指数查询官网入口登录
  • 推荐一个可以做ppt的网站网络营销的概念及特征
  • 自己电脑做局域网网站服务器seo标题关键词怎么写
  • 8x8x域名解析ip地址查询 1080p河北搜索引擎优化
  • 做网站的是什么专业合理使用说明
  • 最简单的网站制作网络舆情应急预案
  • 做百度移动网站优搜索引擎关键词排名
  • 潍坊专业网站建设最新报价举例网络营销的例子
  • 有没有做鸭的网站工作室招聘怎么自己建立一个网站
  • 广州网站开发 找亦客公司优质搜索引擎优化的各种方法
  • 自己怎么做交易网站线上营销模式
  • 网站建设公司的工资网络推广的方式和途径有哪些
  • 天津正规网站建设调试公司优化网站建设seo
  • 开发建设网站的实施过程是一个楚雄seo
  • 怎么去建设微信网站阿里指数在线查询
  • 门户网站建设 增强责任意识济宁百度推广价格
  • 有什么网站可以接手工加工做新开传奇网站
  • 万户做网站好不好seo优化轻松seo优化排名
  • 网站上的网站地图怎么做搜索引擎推广试题
  • 网站建设 完成产品推广哪个平台好
  • 什么是做自己的网站网站seo优化技巧
  • 网站产品页面什么时候做域名收录
  • 怎么查有做网站的公司有哪些快刷网站
  • 莆田网站建设创意互联网营销策划案
  • java做网站访问量并发国际新闻头条最新消息
  • 修改wordpress自带小工具爱站seo工具