继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

算法题--从尾到头打印链表

三年游戏人
关注TA
已关注
手记 21
粉丝 0
获赞 1

5

要求

时间限制:1秒 空间限制:32768K

题目描述

输入一个链表,从尾到头打印链表每个节点的值

解题思路

链表必须要从头开始访问,如果需要将打印顺序颠倒,可以利用栈的特性。有时候方法就是这么简单 - -

如果想展示你的算法能力,可以写成递归–深度优先搜索

代码

/*
struct ListNode
{
  int val;
  struct ListNode *next;
  ListNode(int x) :
    val(x), next(NULL) {}
};
*/
class Solution
{
public:
  vector<int> printListFromTailToHead(ListNode* head)
  {
    vector<int> res;
    stack<int> temp;
    
    while(head != NULL)
    {
      temp.push(head->val);
      head = head->next;
    }
    
    while(!temp.empty())
    {
      res.push_back(temp.top());
      temp.pop();
    }
    
    return res;
  }
};

打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP