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

上海企业网站建设报价佛山全市核酸检测

上海企业网站建设报价,佛山全市核酸检测,软件定制开发价格,html手机网站模板下载反转链表 定义一个函数,输入一个链表的头结点,反转该链表并输出反转后链表的头结点。 思考题: 请同时实现迭代版本和递归版本。 数据范围 链表长度 [ 0 , 30 ] [0,30] [0,30]。 样例 输入:1->2->3->4->5->NULL输出:5-&…

反转链表


定义一个函数,输入一个链表的头结点,反转该链表并输出反转后链表的头结点。

思考题:

  • 请同时实现迭代版本和递归版本。
数据范围

链表长度 [ 0 , 30 ] [0,30] [0,30]

样例
输入:1->2->3->4->5->NULL输出:5->4->3->2->1->NULL

方案一、迭代

翻转即将所有节点的 next 指针指向前驱节点。

由于是单链表,我们在迭代时不能直接找到前驱节点,所以需要一个额外的指针保存前驱节点。
注意:在改变当前节点的 next 指针前,不要忘记保存它的后继节点。

复杂度分析:
  • 空间复杂度:遍历时只有 3 个额外变量(前驱节点、当前节点、后继节点),所以额外的空间复杂度是 O(1)
  • 时间复杂度:只遍历一次链表,时间复杂度是 O(n)
/*** Definition for singly-linked list.* struct ListNode {*     int val;*     ListNode *next;*     ListNode(int x) : val(x), next(NULL) {}* };*/
class Solution {
public:ListNode* reverseList(ListNode* head) {ListNode *prev = nullptr;ListNode *cur = head;while (cur){ListNode *next = cur->next;cur->next = prev;prev = cur, cur = next;}return prev;}
};
方案一、递归

首先考虑 reverseList 函数的作用:它可以翻转一个链表,并返回新链表的头节点(即原链表的尾节点)。

递归过程:
  1. 递归处理 reverseList(head->next)
    • 翻转以 head->next 为头节点的子链表,并返回原链表的尾节点 tail
  2. 调整指针
    • 此时 head->next 是新链表的尾节点,将其 next 指针指向 head
    • head->next 置空(防止成环)。
  3. 返回新头节点
    • 新链表的头节点是 tail,最终返回它即可完成整个链表的翻转。
复杂度分析:
  • 空间复杂度:递归深度为 n,系统栈空间占用 O(n)
  • 时间复杂度:每个节点仅被访问一次,时间复杂度为 O(n)
/*** Definition for singly-linked list.* struct ListNode {*     int val;*     ListNode *next;*     ListNode(int x) : val(x), next(NULL) {}* };*/
class Solution {
public:ListNode* reverseList(ListNode* head) {if (!head || !head->next) return head;ListNode *tail = reverseList(head->next);head->next->next = head;head->next = nullptr;return tail;}
};
http://www.dtcms.com/wzjs/467892.html

相关文章:

  • 找段子的各大网站2345网址导航中国最好
  • 那个网站做调查问卷能赚钱推广合作
  • 做零食网站的选题理由一点优化
  • 网站源码怎么看软文推广文案范文
  • 江苏省南京市栖霞区seo排名快速上升
  • 企业网站和官网的区别2022年新闻摘抄十条简短
  • 在百度怎么做网站百度seo教程
  • 企业网站模板下载psd格式网络营销教学大纲
  • 删除西部数码网站管理助手客源引流推广
  • 用哪个网站做首页比较好百度seo价格查询系统
  • 网站需要做实名认证如何做百度浏览器网页
  • 合肥响应式网站建设方案网络营销策略实施的步骤
  • 网站建设备案是什么百度站长官网
  • 邮政管理网站建设推广方案模板
  • 武汉网站建设平台长沙seo网站
  • 小鱼儿网站做啥用的关于手机的软文营销
  • 手机网站 免费建站做推广网络
  • 网站运营做哪些工作呢天津网络推广seo
  • 药业做网站的网站目标分析计算机培训机构
  • 打码网站怎么做接口上海网络推广培训机构
  • 杭州网站建设设计公司百度搜索入口网址
  • 企业网站的建设哪家比较好百度seo视频教程
  • 小说网站防盗做的最好的是什么软件可以推广
  • dw做网站郑州网站优化软件
  • 在阿里云服务器做淘客网站宁波seo优化项目
  • 东莞seo网站推广线上宣传的方式
  • 怎样保证网站的安全永久免费google搜索引擎
  • 免费真人做爰网站搜索引擎网站
  • 网站备案管理办法石家庄seo外包公司
  • 专业的企业网站设计与编辑软文内容