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

72 阅读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;
  }
};

原文链接

感谢各位人才的点赞收藏关注

文章持续更新,微信搜「 三年游戏人 」第一时间阅读最新内容,获取优质工作内推