LeetCode-Validate Binary Search Tree
来源:互联网 发布:蓝鸥unity3d 编辑:程序博客网 时间:2024/06/06 04:04
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.
confused what "{1,#,2,3}"
means? > read more on how binary tree is serialized on OJ.
OJ's Binary Tree Serialization:
The serialization of a binary tree follows a level order traversal, where '#' signifies a path terminator where no node exists below.
Here's an example:
1 / \ 2 3 / 4 \ 5
The above binary tree is serialized as "{1,2,3,#,#,4,#,#,5}"
.Code:
<span style="font-size:14px;">/** * 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 helper(TreeNode *root, int &minimun, int &maximun) { if (root == NULL) return true; if (root->left == NULL && root->right == NULL) { minimun = root->val; maximun = root->val; return true; } int leftMin, leftMax, rightMin, rightMax; if (root->left != NULL) { if (!helper(root->left, leftMin, leftMax)) return false; if (leftMax >= root->val) return false; minimun = leftMin; } else minimun = root->val; if (root->right != NULL) { if (!helper(root->right, rightMin, rightMax)) return false; if (rightMin <= root->val) return false; maximun = rightMax; } else maximun = root->val; return true; } bool isValidBST(TreeNode *root) { int minimun, maximun; return helper(root, minimun, maximun); }};</span>
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
- telerik中ListBox拖动中对象变化问题解决
- 防止浏览器记住用户名及密码的简单实用方法
- 制作.a静态库文件
- [poj1324]状态压缩+BFS
- 需求分析-用例图
- LeetCode-Validate Binary Search Tree
- 迅捷ppt转换器破解版下载
- [Codeforces] 279B - Books
- Swift研究之编程高级教程(二)属性,存储属性详解
- POJ 1006 Biorhythms 【中国剩余定理】
- linux cron实现计划任务
- MySQL大数据量分页SQL语句优化
- T0601——获取某一类的名称
- poj 1008