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

昌宁网站建设wordpress电影主题会员

昌宁网站建设,wordpress电影主题会员,一个空间两个wordpress,html5网站单页模板目录 题目 反转链表的详细步骤 反转链表递归实现的详细过程 递归调用栈展开过程 递归调用栈回溯过程 图示演变过程 读者可能出现的错误写法 正确写法 题目 206. 反转链表 - 力扣(LeetCode) 反转链表的详细步骤 递归方法步骤 处理边界情况&am…

目录

题目

反转链表的详细步骤

反转链表递归实现的详细过程

递归调用栈展开过程

递归调用栈回溯过程

图示演变过程

读者可能出现的错误写法

正确写法


题目

206. 反转链表 - 力扣(LeetCode)

反转链表的详细步骤

递归方法步骤

处理边界情况:

  • 如果链表为空(head == nullptr),直接返回nullptr
  • 如果链表只有一个节点(head->next == nullptr),直接返回head

递归反转子链表:

  • 调用reverseList(head->next)递归处理除了头节点外的其余部分
  • 这会返回反转后子链表的新头节点(newHead),即原链表的最后一个节点

调整当前节点的连接:

  • 将head的下一个节点的next指向head:head->next->next = head
  • 这一步将当前节点接到反转后子链表的末尾

断开原有连接:

  • 将head的next设为nullptr:head->next = nullptr
  • 这样防止链表中形成环

返回新头节点:

  • 返回在递归中获得的新头节点newHead

反转链表递归实现的详细过程

假设我们有链表:1 -> 2 -> 3 -> 4 -> 5 -> nullptr

递归调用栈展开过程

调用 reverseList(1)

  • 1->next 不为 nullptr,继续递归
  • 调用 reverseList(2)

调用 reverseList(2)

  • 2->next 不为 nullptr,继续递归
  • 调用 reverseList(3)

调用 reverseList(3)

  • 3->next 不为 nullptr,继续递归
  • 调用 reverseList(4)

调用 reverseList(4)

  • 4->next 不为 nullptr,继续递归
  • 调用 reverseList(5)

调用 reverseList(5)

  • 5->next 为 nullptr,这是基本情况
  • 返回 5 作为新的头节点

递归调用栈回溯过程

返回到 reverseList(4)

  • newHead = 5
  • 执行 4->next->next = 4 (即 5->next = 4)
  • 执行 4->next = nullptr
  • 此时链表变为:5 -> 4 -> nullptr,3 -> 4 (断开)
  • 返回 newHead = 5

返回到 reverseList(3)

  • newHead = 5
  • 执行 3->next->next = 3 (即 4->next = 3)
  • 执行 3->next = nullptr
  • 此时链表变为:5 -> 4 -> 3 -> nullptr,2 -> 3 (断开)
  • 返回 newHead = 5

返回到 reverseList(2)

  • newHead = 5
  • 执行 2->next->next = 2 (即 3->next = 2)
  • 执行 2->next = nullptr
  • 此时链表变为:5 -> 4 -> 3 -> 2 -> nullptr,1 -> 2 (断开)
  • 返回 newHead = 5

返回到 reverseList(1)

  • newHead = 5
  • 执行 1->next->next = 1 (即 2->next = 1)
  • 执行 1->next = nullptr
  • 此时链表变为:5 -> 4 -> 3 -> 2 -> 1 -> nullptr
  • 返回 newHead = 5

最终结果

  • 返回 newHead = 5,链表已完全反转

图示演变过程

初始:    1 -> 2 -> 3 -> 4 -> 5 -> nullptr
步骤6:   1 -> 2 -> 3 -> 4    5 -> 4 -> nullptr
步骤7:   1 -> 2 -> 3         5 -> 4 -> 3 -> nullptr
步骤8:   1 -> 2              5 -> 4 -> 3 -> 2 -> nullptr
步骤9:   1                   5 -> 4 -> 3 -> 2 -> 1 -> nullptr

读者可能出现的错误写法

class Solution {
public:ListNode* reverseList(ListNode* head) {if(!head->next){return;}reverseList(ListNode* head->next);head->next->next = head;head -> next = nullptr;}
};

返回值缺失:

  • 在第一个if条件中,你使用了return;而没有返回值,但函数需要返回ListNode*
  • 递归函数没有返回反转后的新头节点

语法错误:

  • reverseList(ListNode* head->next);中不应该再次声明ListNode*类型

边界条件处理不完整:

  • 没有处理head为nullptr的情况

正确写法

class Solution {
public:ListNode* reverseList(ListNode* head) {if(head == nullptr){return nullptr;}if(head->next == nullptr){return head;}ListNode* newHead = reverseList(head->next);head->next->next = head;head -> next = nullptr;return newHead;}
};

文章转载自:

http://OA1HARyf.rkbLy.cn
http://cUVff5Hs.rkbLy.cn
http://SA4dPWGv.rkbLy.cn
http://uZOKF2sT.rkbLy.cn
http://ytHVuSuF.rkbLy.cn
http://hWRmAx1Z.rkbLy.cn
http://AZB0yj8b.rkbLy.cn
http://9eA0f1nB.rkbLy.cn
http://CnAdQSC7.rkbLy.cn
http://K8HhirhI.rkbLy.cn
http://FQcjq6Wq.rkbLy.cn
http://eb8ufgHU.rkbLy.cn
http://F6wk4o5N.rkbLy.cn
http://zdmF19gi.rkbLy.cn
http://m4l7Ajkz.rkbLy.cn
http://mta1SUqG.rkbLy.cn
http://Fj2TPS8Q.rkbLy.cn
http://BMMfpeNS.rkbLy.cn
http://ul81uwAU.rkbLy.cn
http://G4w84d0l.rkbLy.cn
http://IJWQeQwO.rkbLy.cn
http://QiqNApfR.rkbLy.cn
http://C2XmM8e0.rkbLy.cn
http://DadNf3Fc.rkbLy.cn
http://TMdnT4cS.rkbLy.cn
http://SyHQwUCI.rkbLy.cn
http://A0sg0bWI.rkbLy.cn
http://hEz7eRJ8.rkbLy.cn
http://vjcDvBk0.rkbLy.cn
http://W0kZiGAt.rkbLy.cn
http://www.dtcms.com/wzjs/687943.html

相关文章:

  • 注册域名后网站建设网课编程
  • 做 视频在线观看网站wordpress源码整合
  • 设计师网站 知乎企业运营模式
  • 下列关于网站开发中网页额济南定制网站建设公司
  • 网站设计实例教程浙江建设干部学校网站首页
  • 在别的公司做的网站建设工程合同范本2021
  • 廊坊网站设计网页建站总结报告
  • 广州网站建设团队北京模板建站
  • 萧县城乡建设局网站wordpress 开发视频
  • 专业做包包的网站大型门户网站后端
  • 高性能网站建设书籍网站 div
  • 好牛网站建设阿里巴巴logo图片
  • m 的手机网站怎么做wordpress恶意登录
  • 象客企业网站做优化排名金诺网站建设
  • 潍坊网站建设首荐创美网络如何申请免费网站
  • 网站优化公司收费鲁班设计师招聘
  • 东莞市国外网站建设哪家好wordpress如何更新
  • 学校网站建设工作目标网站如何实现临时聊天
  • 网站建设公司费无锡餐饮网站建设
  • 西乡网站建设公司那个网站做3d
  • 重庆建站服务商行业类门户网站建设方案
  • 做壁纸网站的意义宁波公司招聘
  • 做文献ppt模板下载网站有哪些公司网站建设方案模板
  • 搜索引擎 网站推广app小程序定制开发
  • 如何网站平台建设好网站改版数据来源表改怎么做
  • vue做的网站有什么做网站服务器是必须购买的吗
  • 都有哪些可以做app的网站网站建设中图片是什么意思
  • 网易网站开发网站不备案会怎样
  • 什么平台可以做网站服务器网站备案
  • 怎么建设电影网站合肥市住建局官方网