LeetCode算法题目:Validate Binary Search Tree
来源:互联网 发布:大数据技术培训 编辑:程序博客网 时间:2024/05/20 05:03
题目:
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.
分析:
根据搜索二叉树的特点,对其进行中序遍历并将值存入vector中,则得到的应该是一个有序的序列。故先用中序遍历记下所有节点,然后判断此数组是否是已排序的。
代码:
/** * 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: void getval(TreeNode *root,vector<int> &result)//中序遍历二叉树并存储其值 { if(root->left!=NULL) { getval(root->left,result); } result.push_back(root->val); if(root->right!=NULL) { getval(root->right,result); } return; } bool isValidBST(TreeNode *root) { if(root==NULL)return true; vector<int> result; getval(root,result); for(int i=1;i<result.size();i++)//判断所得的值是否有序 { if(result[i-1]>=result[i]) { return false; } } return true; }};
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
- Git3--工作区和暂存区
- dp——洛谷P2679子串
- 操作系统概论
- node express webpack使用proxyTable
- 知乎产品分析|知识社区何去何从
- LeetCode算法题目:Validate Binary Search Tree
- Json.net对于导航属性的处理(解决对象循环引用)
- 网络上找到的socket5 udp c++ 代码 可供参考
- 一个很不错的AspectJ的Execution表达式说明
- Oracle trunc()截取函数的用法
- Scrapy爬虫,Python2将Unicode编码装换成UTF-8编码解决方法之一
- IMWeb训练营作业
- Java经典面试题
- Canvas 常用API总结