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

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

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

/**
 * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
 * 
 * @param sequence int整型一维数组 
 * @return bool布尔型
 */
export function VerifySquenceOfBST(sequence: number[]): boolean {
    // write code here
    if(sequence.length == 0){
        return false;
    }
    return son(sequence, 0, sequence.length - 1);
}
export function son(sequence: number[], first: number, last:number): boolean {
    if (last - first <= 1)
        return true;
    let split: number = first;
    while(split < last && sequence[split] < sequence[last]){
        split ++;
    }
    for(let i: number = split; i < last; i ++) {
        if(sequence[i] < sequence[last]){
            return false;
        }
    }
    return son(sequence, first, split - 1) && son(sequence, split, last - 1);
}

全部评论

相关推荐

StephenZ_:我9月份找的第一段实习也是遇到这种骗子公司了,问他后端有多少人和我说7个正职,进去一看只有一个后端剩下的都是产品前端算法(没错甚至还有算法)。还是某制造业中大厂,我离职的时候还阴阳怪气我
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

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