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

上海企业网站建设报价软文代写公司

上海企业网站建设报价,软文代写公司,完善旅游网站建设,网站建设需求说明书举例反转链表 定义一个函数,输入一个链表的头结点,反转该链表并输出反转后链表的头结点。 思考题: 请同时实现迭代版本和递归版本。 数据范围 链表长度 [ 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/387455.html

相关文章:

  • 网站群建设技术方案网站批量收录
  • 杭州互联网网站公司潍坊百度网站排名
  • 免费网站封装app云南疫情最新情况
  • 学生网站做兼职百度如何推广产品
  • 亚马逊网站托管怎么做怎样宣传自己的品牌
  • 外贸网站建设哪家公司好网站内搜索
  • 网站开发模块磁力宝
  • 安徽省公共资源交易中心网站做关键词优化的公司
  • 广州市官方网站东莞网络营销公司
  • dw做网站怎么上线网站seo百度百科
  • 网站搭建思路湖南seo优化推荐
  • 做投票链接的网站上海网络推广联盟
  • 厦门制作网站哪家好外贸网站营销推广
  • 提示网站建设页面重庆seo和网络推广
  • 自己做的主页网站怕被劫持应用商店关键词优化
  • 湘潭网站建设 找磐石网络一流2021百度热搜年度榜
  • 东莞科技网站建设班级优化大师网页版
  • 色弱可以做网站开发吗厦门seo优化推广
  • 网络科技建设网站seo发贴软件
  • 动态网站设计与制作得物app的网络营销分析论文
  • 手机建站cms系统上首页seo
  • 学校网站建设需求分析网站建设的整体流程有哪些
  • 我的企业邮箱在哪里看seo是如何做优化的
  • 绵阳营销型网站建设卡点视频免费制作软件
  • 苏州新区网站制作公司百度推广广告公司
  • 广西网站建设智能优化镇江网站建设
  • 网站开发毕业设计源码百度地图推广怎么收费标准
  • 中职网站建设白银网站seo
  • 做交互式的网站怎么做重庆seo黄智
  • wp如何做双语网站西安整站优化