最容易想到的思路就是中序遍历,然后看是不是递增数列。
也可以像下面这样,用最大最小值区间来判断
class Solution { public: bool helper(TreeNode* node,long mn,long mx){ if(!node) return true; if(node->val<=mn || node->val>=mx) return false; return helper(node->left,mn,node->val) && helper(node->right,node->val,mx); } bool isValidBST(TreeNode* root) { return helper(root,LONG_MIN,LONG_MAX); } };
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。