剑指offer——24二叉搜索树后序遍历

来源:互联网 发布:php计算三角形面积 编辑:程序博客网 时间:2024/06/05 14:07
package targetOffer;public class BST_24 {boolean verifyBST(int a[],int start,int end){if(a==null||start>=end){return false;}int root=a[end-1];int i=start;//不能写成i=0;for(;i<end-1;++i){if(a[i]>root)break;}int j=i;for(;j<end-1;++j){if(a[j]<root)return false;}boolean left=true;if(i>start)//注意不要写成i>0{left=verifyBST(a,start,i);//System.out.println(start+"-L-"+i+":"+left);}boolean right=true;if(i<end-1){right=verifyBST(a,i,end-1);//System.out.println(i+"-R-"+(end-1)+":"+right);}return (left&&right);}void test(){int a[]={5,7,6,9,11,10,8};int b[]={7,4,6,5};boolean result1=verifyBST(a,0,a.length);boolean result2=verifyBST(b,0,b.length);boolean result3=verifyBST(a,0,3);boolean result4=verifyBST(a,3,6);System.out.println(result1);System.out.println(result3);System.out.println(result4);System.out.println(result2);}public static void main(String args[]){new BST_24().test();}}

结果:

true

true
true
false
0 0
原创粉丝点击