剑指 Offer 06. 从尾到头打印链表
剑指 Offer 06. 从尾到头打印链表
输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回)。
输入:head = [1,3,2]
输出:[2,3,1]
- 方法:
- STL 算法reverse() 反转数组
vector<int> reversePrint(ListNode* head) { vector<int> res; while(head != nullptr) { res.emplace_back(head->val); head = head->next; } reverse(res.begin(), res.end()); return res; }
- 时间复杂度:O(n), 遍历链表
- 空间复杂度:O(n)
- 递归
- 先递归遍历next节点,再添加当前节点的值到当前数组
- 递归结束条件:当前节点cur == nullptr
void dfs(ListNode* head, vector<int>& res) { if(head == nullptr) return; dfs(head->next, res); res.emplace_back(head->val); } vector<int> reversePrint(ListNode* head) { vector<int> res; dfs(head, res); return res; }
- 时间复杂度:O(n), 遍历链表,递归n次
- 空间复杂度:O(n)
posted on 2023-04-12 23:03 SocialistYouth 阅读(5) 评论(0) 编辑 收藏 举报
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人