98 Validate Binary Search Tree
来源:互联网 发布:淘宝联盟官网登录网址 编辑:程序博客网 时间:2024/05/20 02:21
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.
Example 1:
2 / \ 1 3Binary tree
[2,1,3]
, return true.Example 2:
1 / \ 2 3Binary tree
[1,2,3]
, return false./** * Definition for a binary tree node. * 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, LONG_MIN, LONG_MAX); } bool checkValidBST(TreeNode* root, long leftVal, long rightVal) { if(!root) return true; int curVal = root->val; if(curVal <=leftVal || curVal >= rightVal) return false; return checkValidBST(root->left, leftVal, curVal) && checkValidBST(root->right, curVal, rightVal);}};
判断一棵树是否是二分搜索树:
1、左子树的值都比根小
2、右子树的值都比根大
3、左右子树也必须满足上述条件。
因而递归先序遍历二叉树看看每个节点是否满足上述条件即可
阅读全文
0 0
- 98Validate Binary Search Tree
- 98 Validate Binary Search Tree
- 98 Validate Binary Search Tree
- 98 Validate Binary Search Tree
- 98 Validate Binary Search Tree
- Validate Binary Search Tree
- Validate Binary Search Tree
- Validate Binary Search Tree
- Validate Binary Search Tree
- Validate Binary Search Tree
- Validate Binary Search Tree
- Validate Binary Search Tree
- Validate Binary Search Tree
- Validate Binary Search Tree
- Validate Binary Search Tree
- Validate Binary Search Tree
- Validate Binary Search Tree
- Validate Binary Search Tree
- 跨域访问--CORS
- 常用的PopupWindow(1)
- JEPF项目初上手,一把辛酸泪
- 客户端安装步骤
- C语言编写的银行管理系统关键代码
- 98 Validate Binary Search Tree
- MAC 上使用MySQL Workbench工具管理mysql数据库时遇到的一些问题及解决方法
- 直线检测之极坐标表示
- Python文件
- 验证码
- 草根学Python(六) 函数
- 中文乱码问题处理
- 2017.06.28 没写日记
- 真正的628总结