diff options
author | crupest <crupest@outlook.com> | 2020-10-07 09:39:07 +0800 |
---|---|---|
committer | crupest <crupest@outlook.com> | 2020-10-07 09:39:07 +0800 |
commit | d362ddbc5a1723740d52c3b5787ad01bd1b06cb4 (patch) | |
tree | aa89231d014854fde4b96e457b67e317c7637c89 /cpp/98.cpp | |
parent | a14e4728ddc16d049b21d85dc82e5194f12dedde (diff) | |
download | solutions-d362ddbc5a1723740d52c3b5787ad01bd1b06cb4.tar.gz solutions-d362ddbc5a1723740d52c3b5787ad01bd1b06cb4.tar.bz2 solutions-d362ddbc5a1723740d52c3b5787ad01bd1b06cb4.zip |
Add problem 98 .
Diffstat (limited to 'cpp/98.cpp')
-rw-r--r-- | cpp/98.cpp | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/cpp/98.cpp b/cpp/98.cpp new file mode 100644 index 0000000..73cefa0 --- /dev/null +++ b/cpp/98.cpp @@ -0,0 +1,29 @@ +#include <cstddef> + +struct TreeNode +{ + int val; + TreeNode *left; + TreeNode *right; + TreeNode(int x) : val(x), left(NULL), right(NULL) {} +}; + +#include <limits> + +class Solution +{ +public: + bool dfs(TreeNode *node, long long min, long long max) + { + if (node == nullptr) + return true; + if (node->val <= min || node->val >= max) + return false; + return dfs(node->left, min, node->val) && dfs(node->right, node->val, max); + } + + bool isValidBST(TreeNode *root) + { + return dfs(root, std::numeric_limits<long long>::min(), std::numeric_limits<long long>::max()); + } +}; |