Validate Binary Search Tree [leetcode]
2014-09-26 15:29
357 查看
在递归函数中,加上max和min,保存当前子树的最大值和最小值
合法的二叉查找树:
1.左子树最大值<根节点
2.右子树最小值>根节点
3.子树均为合法的BST
合法的二叉查找树:
1.左子树最大值<根节点
2.右子树最小值>根节点
3.子树均为合法的BST
bool isValidBST(TreeNode *root) { if (!root) return true; int max, min; return isValid(root, max, min); } bool isValid(TreeNode * root, int & max, int & min) { int subTreeMax, subTreeMin; max = min = root->val; if (root->left) { if (!isValid(root->left, subTreeMax, subTreeMin)) return false; if (subTreeMax >= root->val) return false; min = subTreeMin; } if (root->right) { if (!isValid(root->right, subTreeMax, subTreeMin)) return false; if (subTreeMin <= root->val) return false; max = subTreeMax; } return true; }
相关文章推荐
- Leetcode-98. Validate Binary Search Tree
- LeetCode 98. Validate Binary Search Tree
- leetcode98---Validate Binary Search Tree
- 【leetcode】Validate Binary Search Tree
- 第十八周:[Leetcode]98. Validate Binary Search Tree
- [LeetCode]Validate Binary Search Tree, 解题报告
- leetcode 98. Validate Binary Search Tree
- LeetCode98 Validate Binary Search Tree
- LeetCode - 98. Validate Binary Search Tree
- Leetcode--Validate Binary Search Tree
- LeetCode(98) Validate Binary Search Tree
- LeetCode-98. Validate Binary Search Tree
- 【leetcode】Validate Binary Search Tree
- leetcode[98]Validate Binary Search Tree
- leetcode:Validate Binary Search Tree
- [leetcode刷题系列]Validate Binary Search Tree
- Leetcode Validate Binary Search Tree
- LeetCode 098 Validate Binary Search Tree
- [LeetCode]Validate Binary Search Tree
- leetcode -day26 Validate Binary Search Tree