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

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

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

public class Solution {
    public boolean VerifySquenceOfBST(int [] sequence) {
        if(sequence.length==0)return false;
        return VerifySquence(sequence,0,sequence.length-1);
        
    }
    public boolean VerifySquence(int[] sequence,int start,int end){
        if(start>=end)return true;//中途没false就一直遍历
        int i = start;
        while(i<end&&sequence[i]<sequence[end])i++;
        for(int j = i;j<end;j++){//end处就是根结点的值
            if(sequence[j]<sequence[end])return false;
        }//分治,递归判断左右序列,注意右子树要去掉end处的根结点
        return VerifySquence(sequence,start,i-1)&&VerifySquence(sequence,i,end-1);
    }
}

全部评论

相关推荐

05-07 19:10
已编辑
中国科学技术大学 C++
silly01:现在先去 momenta,8-9月去鹅找日常实习,八股文算法背好了你这随便进。不过建议补充一下后端知识,MySQL、Redis看下八股,再补个6824,加点go后台的技术栈,9月随便进大厂。CPP后端只能来WXG
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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