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

提供网站建设设计视频app推广

提供网站建设设计,视频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/187785.html

相关文章:

  • 学网站开发哪里好免费下载优化大师
  • 服务器可以吧网站做跳转吗外贸网站建设平台
  • 罗岗网站建设公司宁波优化网页基本流程
  • 网站建设交流推广百度收录提交
  • 网站建设需要哪些东西seo综合查询国产
  • 无线网站建设网络营销主要内容
  • 广州模板网站电话营销
  • 创办网站域名百度推广有哪些售后服务
  • 网站制作是怎么学的网站制作费用
  • wordpress在哪儿设置关键词和描述谷歌seo关键词排名优化
  • 四川淘宝网站建设方案郑州网站运营实力乐云seo
  • 硬盘做免费嗳暧视频网站360搜索网址是多少
  • 秦皇岛房管局官网网上查询上海seo培训中心
  • 网站 做百度推广有没有效果今天的新闻头条最新消息
  • 温岭公司做网站最近发生的热点新闻
  • 云南建设厅网站房地产开发资质百度app客服人工电话
  • 昆山做网站优化国内做seo最好的公司
  • 网站制作公司杭州产品推广方案范例
  • 网站导航栏分析网络营销的目的是
  • 网站开发看什么书公司怎么推广网络营销
  • bbs网站设计安卓优化大师旧版本下载
  • 免费开店的平台有哪些重庆网站优化公司
  • wordpress设置了固定链接seo比较好的公司
  • 淮安专业做网站百度客服
  • 视频8首页制作代码杭州关键词优化平台
  • 网站建设买什么书搜索引擎推广的优势
  • 湖南企业建站系统平台好口碑关键词优化
  • vs2008做网站东莞seo黑帽培训
  • 能接做网站的活的网站昆明seo优化
  • 精准扶贫建设网站的目的精美软文句子