文章
126
粉丝
35
获赞
0
访问
25.0k
(1)利用二叉搜索树的性质的推论:中序遍历为单调递增序列。
中序遍历,保存整个中序遍历序列,最后进行检查。
(2)
void inorder(SqBiTree T, int i, int *a, int *j) {
if (i >= T.ElemNum || T.SqBiTNode[i] == -1) { // 越界或者为空结点
return;
}
inorder(T, 2 * i + 1, a, j);
a[(*j)++] = T.SqBiTNode[i];
inorder(T, 2 * i + 2, a, j);
}
bool isValidBST(SqBiTree T){
int *a = (int *)malloc(sizeof(int) * MAX_SIZE);
int j = 0;
inorder(T, 0, a, &j);
for(int k = 0; k < j - 1; k++) {
if(a[k] >= a[k + 1]) {
return false;
}
}
return true;
}
登录后发布评论
暂无评论,来抢沙发