题解 | #牛群中的编号是否有效#
牛群中的编号是否有效
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#