题解 | 二叉搜索树的后序遍历序列

二叉搜索树的后序遍历序列

https://www.nowcoder.com/practice/a861533d45854474ac791d90e447bafd

class Solution {
public:
 	//对需要检验的后序遍历序列进行排序,检验它是否可以是排序后的序列(中序)的出栈顺序;是则true
    bool VerifySquenceOfBST(vector<int> sequence) {
        if(sequence.size() == 0)return false;
        stack<int> stk;
        
        vector<int> vinorder(sequence);
        sort(vinorder.begin(), vinorder.end());

        int j=0;
        for(int i=0; i<vinorder.size(); ++i){
            stk.push(vinorder[i]);
            while(!stk.empty() && stk.top() == sequence[j]){
                stk.pop();
                ++j;
            }
        }

        return j == sequence.size()? true: false;
    }
};

全部评论

相关推荐

04-03 22:41
兰州大学 C++
老六f:有时候是HR发错了,我之前投的百度的后端开发,他给我发的算法工程师,但是确实面的就是百度开发
点赞 评论 收藏
分享
03-12 15:35
嘉应学院 Python
快说谢谢牛牛精灵:说不定就是下一个寒武纪!
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务