二叉搜索树的后序遍历序列
Posted yingpu
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了二叉搜索树的后序遍历序列相关的知识,希望对你有一定的参考价值。
题目:输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则返回true,否则返回false。假设输入的数组的任意两个数字都互不相同。
public boolean VerifySequenceOfBST(int[] array){ if(array == null || array.length <=0) return false; int N = array.length; return VerifySequenceOfBST(array,0,N-1); } public boolean VerifySequenceOfBST(int[] array,int left,int right){ if(left>=right){ return true; } int root = array[right]; //i记录比root(根节点)大的第一个元素的索引 int i = left; for(;i<right-1;i++){ if(array[i]>root) break; } for(int j=i;j<right-1;j++){ if(array[i]<root) return false; } return VerifySequenceOfBST(array,left,i-1)&&VerifySequenceOfBST(array,i,right-1); }
以上是关于二叉搜索树的后序遍历序列的主要内容,如果未能解决你的问题,请参考以下文章