赞
踩
本文的内容是我刷题时遇到的比较好的解题思路,特意记下来,并添加一些自己的思考,方便以后回顾学习。大家有兴趣的可以去看看“代码随想录”。
给你一个二叉树的根节点 root ,判断其是否是一个有效的二叉搜索树。
有效二叉搜索树定义如下:
该题得用中序遍历
1.确定递归函数的参数和返回类型
2.确定终止条件
代码如下:
if (root == NULL) return true;
3.确定单层递归的逻辑
class Solution { public: TreeNode* pre = NULL; //用来记录前一个节点 bool isValidBST(TreeNode* root) { if (root == NULL) return true; bool left = isValidBST(root->left); if(pre != NULL && pre->val >= root->val) return false; pre = root; bool right = isValidBST(root->right); return left && right; } };
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。