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

了解档案网站的建设/实时积分榜

了解档案网站的建设,实时积分榜,北京网站建设公司费用,自己做报名网站链表-剑指offer6从尾到头打印链表-简单-20210810 1. 题目描述 输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回)。 示例: 输入:head [1,3,2] 输出:[2,3,1]2. 题目解答 2.1 反转/堆栈…

链表-剑指offer6从尾到头打印链表-简单-20210810

1. 题目描述

输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回)。

示例

输入:head = [1,3,2]
输出:[2,3,1]

2. 题目解答

2.1 反转/=堆栈(效率优)

时间复杂度:O(n),reverse()的时间复杂度为O*(*n),遍历了一遍数组,复杂度也为 O(n)

空间复杂度:O(n),使用了额外的res

思路:从头到尾将链表打印到数组中,返回反转后的结果即可

class Solution(object):def reverse_list(self, head):res = []while head:res.append(head.val)head = head.nextreturn res[::-1]

2.2 堆栈

时间复杂度:O(n),push的时间复杂度为 O(n),pop的时间复杂度为 O(n)

空间复杂度:O(n),使用了额外的 res 和 堆栈【实际直接用数组倒序也是堆栈的思想】

思路:利用堆栈先进后出的特点,先依次将元素压入堆栈中,然后将所有元素从堆栈中弹出,即可实现反转

class Solution(object):def reverse_list2(self, head):stack = []while head:stack.append(head.val)head = head.nextres = []while stack:res.append(stack.pop())return res

2.3 递归(递归费时)

时间复杂度:O(n),递归 n 次,时间间复杂度为 O(n);递归函数中的操作时间复杂度为 O(1),总时间复杂度为O(n)×O(1)=O(n)

空间复杂度:O(n),递归将占用链表长度的栈空间

思路:先走至链表末端,回溯时依次将节点值加入列表 ,这样就可以实现链表值的倒序输出

  • ① 递归阶段:每次传入head.next,以head == None(即走到链表尾部的结点)为递归终止条件,此时返回空列表 []

  • ② 回溯阶段:每次返回当前list + 当前结点值[head.val],实现倒序输出

class Solution(object):def reverse_list3(self, head):if not head: return []return self.reverse_list3(head.next) + [head.val]

3. 测试用例

1. 特殊输入测试:空链表
2. 功能测试:输入的链表有多个/只有1个结点
if __name__ == '__main__':# Test Casehead1 = []head2 = [2]head3 = [1, 3, 2]L = LinkList.LinkList()head1 = L.init_list(head1)head2 = L.init_list(head2)head3 = L.init_list(head3)Solution = Solution()print(Solution.reverse_list(head1))print(Solution.reverse_list2(head1))print(Solution.reverse_list3(head1))print(Solution.reverse_list(head2))print(Solution.reverse_list2(head2))print(Solution.reverse_list3(head2))print(Solution.reverse_list(head3))print(Solution.reverse_list2(head3))print(Solution.reverse_list3(head3))
http://www.lbrq.cn/news/1584451.html

相关文章:

  • 求跳转代码来自百度等搜索引擎访问跳转到另一个网站直接输入域名/西安网站建设制作
  • 怎么架构网站/哪些平台可以做推广
  • wordpress在lnmp部署/上海牛巨微seo优化
  • 网站建设找超速云建站/高端网站定制
  • 做个网站需要什么/今天的新闻头条最新消息
  • 美食类网站开发需求/怎么把产品放到网上销售
  • 四川建设工程交易信息网站/广东: 确保科学精准高效推进疫情
  • 广东有做阿里网站的吗/网络营销有哪些特点
  • 自己做的网站/宁波seo搜索引擎优化
  • 北京 网站 外包/免费公司网站建站
  • 做网站需要多少费用/大二网络营销实训报告
  • 中小型企业网站建设与管理/seo北京公司
  • 网站建设技术服务方案/小广告网站
  • 宜昌营销型网站/app拉新平台有哪些
  • 做网站商城需要什么软件/搜狗关键词排名查询
  • 阿里云网络服务/seo业务培训
  • 中国建设银行官网站u盾证书/2021年近期舆情热点话题
  • 用数字做域名网站/推广游戏怎么拉人最快
  • cad使用视频在线观看/郑州seo排名哪有
  • 北京病毒变异最新消息/网站seo优化推广
  • 手机做ppt的免费模板下载网站/免费产品推广软件
  • 响应式网站原理/公司搜索seo
  • 卖域名的网站/邯郸百度推广公司
  • 网站的域名/百度收录的网站
  • 旅游网站开发报价单/qq群排名优化软件官网
  • wordpress主题有后台/公众号排名优化软件
  • 织梦 去掉我的网站/咸阳网络推广
  • 做英文网站建设/百度手机助手苹果版
  • 山东中佛龙建设有限公司网站/seo狂人
  • 做网站需要多久/seo网络优化前景怎么样
  • 集成电路学习:什么是RQT图形用户界面工具
  • YOLO-Count:用于文本到图像生成的可微分目标计数
  • C++线程库的学习
  • 2025 最新 ECharts 下载、安装与配置教程
  • Mysql数据仓库备份脚本
  • [Oracle] SIGN()函数