【2013创新工场电话面试】判断一个数组是否为二叉排序树的后序遍历结果

题目:

       输入一个整数数组,判断该数组是否满足二叉搜索树的后序遍历。

解法:

       给定数组,数组最后一个节点值肯定是根节点的值,从数组第一个节点开始,比根节点小的值一定是左子树节点,比根节点大的值一定是右子树节点。接着递归判断左子树右子树的状况。

代码如下:

#include 
#define MAX 10001
int isValid(int data[],int n)
{
	int i=0;
	int j;
	int left=1,right=1;
	int root=data[n-1];
	//i记录root左节点长度 
	while(data[i]0)
		left=isValid(data,i);
	//递归判断右子树节点
	if(i


你可能感兴趣的:(【2013创新工场电话面试】判断一个数组是否为二叉排序树的后序遍历结果)