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

网站建设培训 店项城网站

网站建设培训 店,项城网站,服务器服务器租用,怎么在家做网站题目: 给你单链表的头结点 head ,请你找出并返回链表的中间结点。 如果有两个中间结点,则返回第二个中间结点。 示例 1: 输入:head [1,2,3,4,5] 输出:[3,4,5] 解释:链表只有一个中间结点&#…

题目:

给你单链表的头结点 head ,请你找出并返回链表的中间结点。

如果有两个中间结点,则返回第二个中间结点。

示例 1:

输入:head = [1,2,3,4,5]
输出:[3,4,5]
解释:链表只有一个中间结点,值为 3 。

示例 2:

输入:head = [1,2,3,4,5,6]
输出:[4,5,6]
解释:该链表有两个中间结点,值分别为 3 和 4 ,返回第二个结点。

思路:

使用 快慢指针(Fast-Slow Pointers) 来找到链表的中间节点,快慢指针 slow:每次移动 1 步快指针 fast:每次移动 2 步。

代码:

struct ListNode* middleNode(struct ListNode* head) 
{if (head == NULL) {return NULL; // 处理空链表}struct ListNode* slow = head;struct ListNode* fast = head;// 快指针每次走2步,慢指针每次走1步while (fast != NULL && fast->next != NULL) {slow = slow->next;fast = fast->next->next;}return slow; // 慢指针指向中间节点
}

代码分析:

1. 快慢指针的初始化

  • 慢指针 slow:每次移动 1 步。

  • 快指针 fast:每次移动 2 步。

  • 初始位置:两者都从链表头节点 head 开始。

    struct ListNode* slow = head;
    struct ListNode* fast = head;

2. 移动规则

  • 循环条件:快指针能继续移动(即 fast 和 fast->next 均不为空)。
           这个条件是为了安全控制快指针的移动,确保在每次循环中能够安全访问 fast->next->next,避免空指针解引用导致的崩溃,防止 fast->next 为 NULL 时访问 fast->next->next。

    while (fast != NULL && fast->next != NULL)
    
  • 每次迭代:

    • 慢指针走 1 步:slow = slow->next

    • 快指针走 2 步:fast = fast->next->next

3. 终止条件

  • 当快指针无法继续移动时,慢指针指向中间节点:

    • 链表长度为奇数:fast 最终指向最后一个节点,slow 正好在中间。

      例:1 → 2 → 3 → 4 → 5
                            ↑
                       slow

    • 链表长度为偶数:fast 最终指向 NULLslow 指向中间偏右的节点。

      例:1 → 2 → 3 → 4
                            ↑
                         slow

4. 返回结果

  • 直接返回慢指针 slow,此时它指向中间节点。

    return slow;
http://www.dtcms.com/wzjs/585933.html

相关文章:

  • 站长工具国产2023网站产品推广制作
  • 民族建设集团有限公司官方网站企业网站建设基本思路
  • 我的网站设计联盟能免费创建网站吗
  • 重庆制作网站速成班wordpress拼图
  • 中国网络营销网站企业网站源码生成
  • 做网站需要多少带宽宁晋网站建设公司
  • 织梦wordpress建站wordpress浏览器
  • 网站设计和程序员怎么弄一个自己的链接
  • 哪些企业需要做网站宝丰网站制作效果好
  • 门户网站建设公司流程网站如何创建首页
  • 建设网站 费用助企建站
  • 服装商城的网站建设秦皇岛手机网站制作费用
  • 网站开发语言用到淘宝推广怎么做
  • 佛山市手机网站建设企业专业的网站开发联系方式
  • 做个公司网站一般多少钱seo优化运营专员
  • 江苏江都建设集团有限公司网站ftp如何导入wordpress 主题
  • 厦门网站建设中心电商网站建设用php
  • 网站运营费用预算wordpress php.ini
  • 电商网站建设 问题与解决方案网站平台建设项目书
  • 网站首页建设公司深圳公司核名工商官网
  • a网站建设做经营行网站需要什么
  • 推进政务服务网站一体化建设酒店网络营销推广案例
  • 莱芜高端网站设计建设宜昌皓月建设工程有限公司网站
  • 网站描述修改上海做淘宝网站设计
  • 网站建设费如何入帐个人网站的名字
  • 天津网站建设-中国互联深圳福田专业网站建设
  • 网站被墙了什么意思焊工培训班
  • 无锡企业网站seo.net网站开发 平台
  • 智能建站系统哪个好网站建设技术服务费怎么写分录
  • 优化设计网站推广优化设计方案