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

2022/11/4 3:25:00

本文主要是介绍算法题--从尾到头打印链表,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

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



这篇关于算法题--从尾到头打印链表的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程