二叉搜索树的后续遍历序列(边界条件怎样确定)

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

https://www.nowcoder.com/practice/a861533d45854474ac791d90e447bafd?tpId=13&tqId=11176&tPage=2&rp=2&ru=/ta/coding-interviews&qru=/ta/coding-interviews/question-ranking

解法1:

class Solution {
public:
    bool VerifySquenceOfBST(vector<int> sequence) {
        return bst(sequence,0,sequence.size()-1);
    }
    bool bst(vector<int>& sequence,int begin,int end)
    {
        if(sequence.empty()||begin>end)//是否需要判断begin>end
            return false;
        int i=begin;
        for(;i<end;i++)
        {
            if(sequence[i]>sequence[end])
            {
                break;
            }
        }
        for(int j = i;j<end;j++)
        {
            if(sequence[j]<sequence[end])
            {
                return false;
            }
        }
        bool left = true;
        if(i>begin)
        {
            left = bst(sequence,begin,i-1);
        }
        bool right = true;
        if(i<end-1)
        {
            right =bst(sequence,i,end-1);
        }
        return left&right;
    }
};
全部评论

相关推荐

10-09 00:50
已编辑
长江大学 算法工程师
不期而遇的夏天:1.同学你面试评价不错,概率很大,请耐心等待;2.你的排名比较靠前,不要担心,耐心等待;3.问题不大,正在审批,不要着急签其他公司,等等我们!4.预计9月中下旬,安心过节;5.下周会有结果,请耐心等待下;6.可能国庆节前后,一有结果我马上通知你;7.预计10月中旬,再坚持一下;8.正在走流程,就这两天了;9.同学,结果我也不知道,你如果查到了也告诉我一声;10.同学你出线不明朗,建议签其他公司保底!11.同学你找了哪些公司,我也在找工作。
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务