题解 | #牛群中的编号是否有效#

牛群中的编号是否有效

https://www.nowcoder.com/practice/2b4279d545124277a06a8e5eaa802375

1.考察知识点:

二叉树遍历、递归

2.编程语言:

C

3.解题思路:

根据已知的3个条件,判断该题使用递归解决。对于空的二叉树可以直接返回true,

先确定最后返回的是递归调用本函数对左子树和右子树进行判断,针对条件1、2

需要判断如果一个根节点左右不为空,且左边的比根节点值大或者右边比根节点值小,此时返回false;

4.完整代码:

/**
 * struct TreeNode {
 *	int val;
 *	struct TreeNode *left;
 *	struct TreeNode *right;
 * };
 */
/**
 * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
 *
 * 
 * @param root TreeNode类 
 * @return bool布尔型
 */
bool isValidBST(struct TreeNode* root ) {
    // write code here
    if(root == NULL) return true;
    if((root->left!=NULL && root->left->val > root->val) || (root->right!=NULL && root->right->val < root->val)){
        return false;
    }
    return isValidBST(root->left) && isValidBST(root->right);
}

#面试高频TOP202#
全部评论

相关推荐

头像
02-15 16:23
中南大学 Java
野猪不是猪🐗:签了美团真是不一样! 亲戚们都知道我签了美团,过年都围着我问送一单多少钱,还让弟弟妹妹们引以为戒,笑我爸我妈养了个🐢孩子,说从小就知道我这个人以后肯定没出息,我被骂的都快上天了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务