【剑指offer】【树】33. 二叉搜索树的后序遍历序列

递归

class Solution {
public:
    vector<int> seq;
    bool verifyPostorder(vector<int>& postorder) {
        seq = postorder;
        return dfs(0, seq.size() - 1);
    }
    bool dfs(int l , int r)
    {
        if(l >= r) return true;
        int root = seq[r];
        int k = l;
        while(k < r && seq[k] < root) k++;
        for(int i = k; i < r; i++)
            if(seq[i] < root) return false;
        return dfs(l, k - 1) && dfs(k, r - 1);
    }
}; 

猜你喜欢

转载自www.cnblogs.com/Trevo/p/12825531.html