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 | 1e4ccbddefddcf0dfd9966e3b579b994b4efdcbb (patch) | |
| tree | 464c24a015a864e81b37099d34110ca27145db01 /works/solutions | |
| parent | 7b272c8afa545bf358577b865d8eab1fb66df4e3 (diff) | |
| download | crupest-1e4ccbddefddcf0dfd9966e3b579b994b4efdcbb.tar.gz crupest-1e4ccbddefddcf0dfd9966e3b579b994b4efdcbb.tar.bz2 crupest-1e4ccbddefddcf0dfd9966e3b579b994b4efdcbb.zip | |
import(solutions): Add problem 98 .
Diffstat (limited to 'works/solutions')
| -rw-r--r-- | works/solutions/cpp/98.cpp | 29 | 
1 files changed, 29 insertions, 0 deletions
| diff --git a/works/solutions/cpp/98.cpp b/works/solutions/cpp/98.cpp new file mode 100644 index 0000000..73cefa0 --- /dev/null +++ b/works/solutions/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()); +    } +}; | 
