这个题挺好的。考察了中序遍历。
用中序遍历就可以不用考虑子树的问题。中序遍历后查看数组是否递增就可以了。我第一遍做没有想到。以为是直接深搜,然后就卡在子树问题上了。。
class Solution {
public:
void judge(TreeNode* root,vector<int>&p)
{
if(!root)return;
judge(root->left,p);
p.push_back(root->val);
judge(root->right,p);
}
bool isValidBST(TreeNode* root) {
vector<int>p;
judge(root,p);
for(int i =1;i<p.size();++i)
if(p[i-1]>=p[i])return false;
return true;
}
};

本文介绍了一种使用中序遍历来验证二叉树是否为有效的二叉搜索树的方法。通过实现一个递归函数来进行中序遍历,并将节点值存入数组中,最后检查数组是否递增来判断该二叉树是否符合二叉搜索树的要求。
4009

被折叠的 条评论
为什么被折叠?



