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

wordpress 只剩纯文本百度工具seo

wordpress 只剩纯文本,百度工具seo,环保设备网站建设方案,网站服务器怎么维护目录 题目 反转链表的详细步骤 反转链表递归实现的详细过程 递归调用栈展开过程 递归调用栈回溯过程 图示演变过程 读者可能出现的错误写法 正确写法 题目 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://www.dtcms.com/wzjs/186009.html

相关文章:

  • wordpress编辑器空格哈尔滨seo优化软件
  • php 手机网站开发教程人工智能培训一般多少钱
  • 兴隆大院网站哪个公司做的北京seo管理
  • 我想找网站帮忙做宣传百度云网盘资源链接
  • 黄山建设网站公司电话七牛云
  • 公司以前做的免费网站太多_新网站搜索不到如何写好软文
  • 惠阳东莞网站建设免费推广软件哪个好
  • 怎么做球球业务网站上海有名网站建站开发公司
  • 武汉做网站做得好的设计工作室软文代写多少钱一篇
  • 自己做网站背景图片淘宝推广方法有哪些
  • 做二手车那个网站会员性价比高怎么做市场推广
  • 河南营销型网站建设seo搜索优化排名
  • 吴忠市建设工程质量监督站网站怎么做个人网页
  • 做网站如何盈利职业技能培训班
  • 网站搭建多少钱徐州百都网络非常好优秀的软文广告案例
  • wordpress建站价格优化推广联盟
  • 上海十大b2c网站建设seo赚钱
  • wordpress支持建多个站点吗注册城乡规划师教材
  • 他达拉非副作用宁波seo排名优化培训
  • 怎么做博彩网站seo优化宣传
  • 河南高端网站建设百度搜索推广流程
  • 青海建设厅操作证查询网站百度seo营销推广多少钱
  • oa系统主要干什么的诊断网站seo现状的方法
  • 网站建设方案意见电商网络推广
  • 成都手机网站建设百度爱采购平台登录
  • 北京网站优化解决方案腾讯广告代理商加盟
  • o2o电商网站企业网站建设方案模板
  • 淘宝天猫优惠券网站建设费用石家庄抖音seo
  • 名作之壁吧网站建设seo算法培训
  • 小工厂怎么做网站搜索seo怎么优化