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

上海企业网站建设报价杭州seo百度关键词排名推广

上海企业网站建设报价,杭州seo百度关键词排名推广,四站合一网站制作,十大网站app软件反转链表 定义一个函数,输入一个链表的头结点,反转该链表并输出反转后链表的头结点。 思考题: 请同时实现迭代版本和递归版本。 数据范围 链表长度 [ 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/471629.html

相关文章:

  • 简洁网站设计关键词难易度分析
  • 网站后期维护赛雷猴是什么意思
  • 做悬赏的网站微信营销平台系统
  • 杭州网站推广公司哈尔滨百度网站快速优化
  • 网站微信客服代码广州今天新闻
  • 王爷休书请拿好优化大师专业版
  • 贵阳网站开发培训淘宝指数查询官网
  • 嘉兴网站建设需要多少钱关键词优化报价怎么样
  • 怎么做属于自己的售卡网站深圳网站建设
  • 查询域名注册网站推广软件的渠道有哪些
  • 网站黄页推广软件百度医生在线问诊
  • 贵州城乡住房建设网站相城seo网站优化软件
  • 如何上传自己的视频做网站谷歌浏览器下载手机版安卓
  • 网站建设技术支持2345网址导航应用
  • 山东省通信管理局 对于经营性网站的认定软件定制开发
  • 做一个网站最低多少钱seo关键词推广渠道
  • 做聚会的网站快速建站哪个平台好
  • 电视家日本付费分享码鹤壁seo推广
  • 麻花星空影视传媒制作公司seo网络推广知识
  • 怎么在网站上做反邪教知识搭建一个app平台要多少钱
  • 企业形象设计logo招聘seo专员
  • 深圳比较大的做网站设计公司有域名有服务器怎么做网站
  • 龙岗企业网站制作公司资源
  • 重庆网站建设平台免费青岛网络科技公司排名
  • 如何用两台电脑做服务器建网站百度认证营销顾问
  • Vs做的网站调试时如何适应网页google推广平台怎么做
  • 摄影师网站html5微信小程序开发平台
  • 东营做网站哪家好百度代理加盟
  • 网站开发要花多少钱西安新站网站推广优化
  • 高端网站推荐项目推广方案