Validate Binary Search Tree
来源:互联网 发布:2016年济南市酒驾数据 编辑:程序博客网 时间:2024/04/27 23:13
一、问题描述
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){ TreeNode* pre = NULL; return isValid(root,pre); } bool isValid(TreeNode* root,TreeNode* &prev){ if(root == NULL) return true; if (!isValid(root->left, prev)) return false; if (prev != NULL && prev->val >= root->val) return false; prev = root; return isValid(root -> right, prev); }};
0 0
- 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
- Validate Binary Search Tree
- Validate Binary Search Tree
- Validate Binary Search Tree
- Validate Binary Search Tree
- android中把文件保存到sdcard代码实例
- (六)c52学习之旅-独立按键
- MySQL基本CRUD与简单案例
- 如何从开始学好web安全
- const与#define的特点与区别
- Validate Binary Search Tree
- 自定义极光推送铃声
- 前端的题目汇总
- Visual Studio vs软件下载 vax Visual Assist X VAssistX
- ld: 8 duplicate symbols for architecture i386
- 通过OnGlobalLayoutListener获得视图的高度
- iOS9 以后的POST请求
- 网络通信之简易聊天室(UDP实现)
- 利用FreeType让LibGDX输出中文