一个数据栈data,一个最小值栈min

vector<int> getMinStack(vector<vector<int> >& op) {
        // write code here
        stack<int>data;
        stack<int>min;
        vector<int>ans;
        for(vector<int>vec:op)
        {
            if(vec[0]==1)
            {
                data.push(vec[1]);
                if(min.empty())min.push(vec[1]);//单调栈为空,直接push

                else if(vec[1]<min.top()) min.push(vec[1]);//如果当前值比单调栈最小值栈顶值小,push
            }
            if(vec[0]==2)
            {
                if(min.top()==data.top()) min.pop();//判断出栈的是否是最小值
                data.pop();
            }

            if(vec[0]==3) ans.push_back(min.top());//单调栈栈顶为最小值,直接获取
        }

        return ans;
    }