您好,欢迎来到化拓教育网。
搜索
您的当前位置:首页4_5栈的反转

4_5栈的反转

来源:化拓教育网

实现一个栈的逆序,但是只能用递归函数和这个栈本身的pop操作来实现,而不能自己申请另外的数据结构。

给定一个整数数组A即为给定的栈,同时给定它的大小n,请返回逆序后的栈。

测试样例:
输入:[4,3,2,1],4
返回:[1,2,3,4]

class StackReverse {
public:
    int get(vector<int> &A)
    {
        int curr = A.back();
        A.pop_back();
        if(A.empty()){
            return curr;
        }else{
            int result = get(A);
            A.push_back(curr);
            return result;
        }
    }
    void reverseStack__(vector<int> &A){
        if(A.empty()){
            return;
        }
        int temp = get(A);
        reverseStack__(A);
        A.push_back(temp);
        return;
    }
    vector<int> reverseStack(vector<int> A, int n) {
        // write code here
        reverseStack__(A);
        return A;
    }
};

Copyright © 2019- huatuo9.cn 版权所有 赣ICP备2023008801号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务