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

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

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

class Solution {
public:
    bool VerifySquenceOfBST(vector<int> sequence) {
        if (sequence.empty())
            return false;

        return order(sequence, sequence.size());
    }

    bool order(const vector<int> &sequence, int length) {
        if (sequence.empty() || length <= 0)
            return false;
        
        int root = sequence[length - 1];
        
        int i = 0;
        for (; i < length - 1; i++) {
            if (sequence[i] > root) 
                break;
        }

        int j = i;
        for (; j < length - 1; j++) {
            if (sequence[j] < root)
                return false;
        }

        bool left = true;
        
        if (i > 0) {
            vector<int> tmp(sequence.begin(), sequence.begin() + i);
            left = order(tmp, i);
        }

        bool right = true;
        if (i < length - 1) {
            vector<int> tmp(sequence.begin() + i, sequence.end() - 1);
            right = order(tmp, length - i - 1);
        }

        return (left && right);
    }
};

全部评论

相关推荐

27届毕业,最近想找一段大厂实习,感觉简历有些问题,好多都不给面,求大佬们指点,最近好焦虑
重生之我学Java干...:我从后端的角度分析一下你的第一个项目,我感觉亮点不是很突出。因为我是因为组内有需求,临时上手学react干活。我用到的技术基本就cover你那个智慧园区管理平台的很多亮点了。那作为比较专业的前端,你上述的内容是不是有点单薄呢。感觉还得包装
点赞 评论 收藏
分享
皮格吉:不,有的厂子面试无手撕,可以试试。都是一边学一边面。哪有真正准备好的时候,别放弃
无实习如何秋招上岸
点赞 评论 收藏
分享
迷茫的大四🐶:哇靠,哥们,啥认证啊,副总裁实习,这么有实力嘛
一起聊美团
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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