LeetCode - Validate Binary Search Tree
来源:互联网 发布:算法导论 22.3 10 编辑:程序博客网 时间:2024/06/07 10:36
题目描述:
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.一开始的想法是遍历二叉树,判断每一个节点的值是否大于其左节点的值且小于右节点的值,但是这种做法可能出现某节点的右子树包含小于这个节点的值,但是右子树中的这个节点满足上述条件,例如:
4 / \ 1 6 / \ 3 7这是不满足BST的要求的,所以考虑用中序遍历得到数组,然后判断该数组是否为单增的,就可以判断是否为BST。
class Solution {public:vector<int> v;void DFS(TreeNode* root){if(root!=NULL){if(root->left!=NULL){DFS(root->left);}v.push_back(root->val);if(root->right!=NULL){DFS(root->right);}}else return;} bool isValidBST(TreeNode* root){v.clear();DFS(root);if(v.size()==0) return true;bool isvalid=true;for(int i=0;i<v.size()-1;i++){if(v[i]>=v[i+1]) {isvalid=false;break;}}return isvalid; }};
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
- 8面向对象高级--->@property
- adb logcat常用命令小结
- Python之队列queue模块使用 常见问题与用法
- [C语言][LeetCode][232]Implement Queue using Stacks
- AS400 DB2 SQL常用函数总结
- LeetCode - Validate Binary Search Tree
- Linux下使用math函数
- LVS
- 最长公共子序列LCS和最长回文子序列的动态规划算法
- unity3D-游戏/AR/VR在线就业班 蓝鸥C#入门栈和队列学习笔记
- Nginx+iis 负载均衡
- Struts2实现的吊炸天留言板系统(包含完整源+mysql数据库+bootstraps3)源码以及课程报告下载地址!
- 慎用WSACleanup()
- 22、中介者模式(Mediator)