class Solution {
public:
vector<int> printListFromTailToHead(ListNode* head) {
  /*
    //变量定义区
    vector<int> result;
    std::stack<int> stk;
    ListNode* current = head;

    //入参有效性判断
    if(NULL == head)
       return result;

    //数据入栈
    while(current != NULL)
    {
        stk.push(current->val); //stack入栈函数push函数
        current = current->next;
    }

    //数据出栈
    while(!stk.empty())
    {
        int val = stk.top();
        result.push_back(val); //vector添加操作
        stk.pop();
     }
     return result;
    */

    //递归实现
    ListNode* current = head;
    vector<int> result;
    if(current != NULL)
    {
       if(current->next !=NULL)
      {
           result = printListFromTailToHead(current->next);
      }
     result.push_back(current->val); 

    }

    return result;
}
};

 

程序已通过牛客网测试用例。

内容来源于网络如有侵权请私信删除
你还没有登录,请先登录注册
  • 还没有人评论,欢迎说说您的想法!