LeetCode刷题(158)~从尾到头打印链表递归|辅助栈

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LeetCode刷题(158)~从尾到头打印链表递归|辅助栈相关的知识,希望对你有一定的参考价值。


题目描述

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

示例 1:

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

限制:

  • 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;

运行结果

LeetCode刷题(158)~从尾到头打印链表【递归|辅助栈】_数组


提交代码(递归)

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;

运行结果

LeetCode刷题(158)~从尾到头打印链表【递归|辅助栈】_数组_02


提交代码(辅助栈)

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;

运行结果

LeetCode刷题(158)~从尾到头打印链表【递归|辅助栈】_数组_03

题目来源

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/cong-wei-dao-tou-da-yin-lian-biao-lcof


以上是关于LeetCode刷题(158)~从尾到头打印链表递归|辅助栈的主要内容,如果未能解决你的问题,请参考以下文章

LeetCode刷题剑指Offer6-简单-从尾到头打印链表

LeetCode刷题剑指Offer6-简单-从尾到头打印链表

刷题6 从尾到头打印链表

刷题记录-剑指offer6:从尾到头打印链表

剑指offer系列刷题第二篇——从尾到头打印链表和反转链表

LeetCode刷题--点滴记录006