Leetcode: Validate Binary Search Tree
来源:互联网 发布:icmp是网络管理协议 编辑:程序博客网 时间:2024/05/29 08:46
Given a binary tree, determine if it is a valid binary search tree (BST).
Assume a BST is defined as follows:
- The left subtree of a node contains only nodes with keys less than the node's key.
- The right subtree of a node contains only nodes with keys greater than the node's key.
- Both the left and right subtrees must also be binary search trees
递归即可。
/** * Definition for binary tree * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */class Solution {public: bool isValidBST(TreeNode *root) { return checkValidBST(root, numeric_limits<int>::min(), numeric_limits<int>::max()); } bool checkValidBST(TreeNode *root, int min_val, int max_val) { if (root == NULL) { return true; } bool valid = false; if (root->val >= min_val && root->val <= max_val) { valid = checkValidBST(root->left, min_val, root->val - 1); if (valid) { valid = checkValidBST(root->right, root->val + 1, max_val); } } return valid; }};
============================第二次============================
/** * Definition for binary tree * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */class Solution {public: bool isValidBST(TreeNode *root) { return checkBST(root, numeric_limits<int>::min(), numeric_limits<int>::max()); } bool checkBST(TreeNode *root, int left, int right) { if (root == NULL) { return true; } if (root->val <= right && root->val >= left) { return checkBST(root->left, left, root->val - 1) && checkBST(root->right, root->val + 1, right); } return false; }};
0 0
- LeetCode: Validate Binary Search Tree
- [Leetcode] Validate Binary Search Tree
- LeetCode : Validate Binary Search Tree
- [LeetCode] Validate Binary Search Tree
- [LeetCode] Validate binary search tree
- [LeetCode]Validate Binary Search Tree
- [Leetcode]Validate Binary Search Tree
- [leetcode]Validate Binary Search Tree
- LeetCode-Validate Binary Search Tree
- [leetcode] Validate Binary Search Tree
- LeetCode - Validate Binary Search Tree
- [LeetCode] Validate Binary Search Tree
- Leetcode Validate Binary Search Tree
- LeetCode | Validate Binary Search Tree
- LeetCode - Validate Binary Search Tree
- Leetcode: Validate Binary Search Tree
- 【Leetcode】Validate Binary Search Tree
- 【leetcode】Validate Binary Search Tree
- wince 驱动调试编译方法
- Activity 跳转 A<->B<->C<->D->E E<->B 求破.
- Android AsyncTask完全解析,带你从源码的角度彻底理解
- 关于USB Gadget开发
- C++ 建立邮件客户端之收邮件(利用POP3)(二)
- Leetcode: Validate Binary Search Tree
- [LeetCode] - Sum Root to Leaf Numbers
- unity 中编写xml
- UVA 1555 - Garland(推公式,贪心)
- 小试hadoop 1(Debian7上配置hadoop 2.2.0)
- Access restriction: The method createJPEGEncoder(OutputStream) from the type JPEGCodec is not access
- Codeforces Round #221 (Div. 1)(完全)
- 经典编程资料百度云盘
- 怎样下载在线视频