判断平衡二叉树AVL---C++实现

//用0标记以该节点为根的树不平衡  否则返回该节点所在树的高度
int isAVL(node* root) {
	if (root) {
		int left = isAVL(root->lchild);
		int right = isAVL(root->rchild);
		if (left == 0 || right == 0) {
			return 0;
		}
		if (fabs(left - right) <= 1) {
			return max(left, right) + 1;
		}
		return 0;
	}
	return 1; //空节点返回1
}

你可能感兴趣的:(c/c++面试,数据结构,c++)