题解 | #牛群中的编号是否有效#
牛群中的编号是否有效
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#
查看11道真题和解析