LeetCode刷题(158)~从尾到头打印链表【递归|辅助栈】
【摘要】 题目描述
输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回)。
示例 1:
输入:head = [1,3,2]
输出:[2,3,1]
12
限制:
0 <= 链表长度 <= 10000
解答 By 海轰
提交代码
vector<int> reversePrint(ListNode* head) { vector&l...
题目描述
输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回)。
示例 1:
输入:head = [1,3,2]
输出:[2,3,1]
- 1
- 2
限制:
- 0 <= 链表长度 <= 10000
解答 By 海轰
提交代码
vector<int> reversePrint(ListNode* head) { vector<int> ans; while(head) { ans.push_back(head->val); head=head->next; } reverse(ans.begin(),ans.end()); return ans; }
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
运行结果
提交代码(递归)
void help(ListNode* head,vector<int>& ans) { if(head==NULL){ return ; } else { help(head->next,ans); ans.push_back(head->val); } } vector<int> reversePrint(ListNode* head) { vector<int> ans; help(head,ans); return ans; }
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
运行结果
提交代码(辅助栈)
vector<int> reversePrint(ListNode* head) { vector<int> ans; stack<int> s; while(head) { s.push(head->val); head=head->next; } while(!s.empty()) { ans.push_back(s.top()); s.pop(); } return ans; }
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
运行结果
题目来源
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/cong-wei-dao-tou-da-yin-lian-biao-lcof
文章来源: haihong.blog.csdn.net,作者:海轰Pro,版权归原作者所有,如需转载,请联系作者。
原文链接:haihong.blog.csdn.net/article/details/108593121
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)