Validate Binary Search Tree
来源:互联网 发布:office办公软件多少钱 编辑:程序博客网 时间:2024/05/08 11:14
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.
1.每次dfs传入下界和上界。
bool check(TreeNode *node, int leftVal, int rightVal){ if (node == NULL) return true; if(leftVal < node->val && node->val < rightVal && check(node->left, leftVal, node->val) && check(node->right, node->val, rightVal)) return true; else return false;}bool isValidBST(TreeNode *root){ return check(root, INT_MIN, INT_MAX);}
2.中序遍历,记录pre的值,注意用引用传递
bool isBin = true;void inOrder(TreeNode *root, int &pre){ if (!root ) return; inOrder(root->left, pre); if ( pre >= root->val) isBin = false; pre = root->val; inOrder(root->right, pre);}bool isValidBST(TreeNode *root){ int pre = INT_MIN; inOrder(root, pre); return isBin;}
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
- ios 解析json常见的四种方法
- 景德镇展览中心
- 我愿行走天下、为你一世繁华
- 设计模式 - 工厂模式(factory pattern) 详解
- 如何在深圳注册公司 ——1公司名称预先核准
- Validate Binary Search Tree
- 如何在PPT中插入动画、视频、音频、解说等
- 链路聚合
- ImageView.ScaleType的使用
- myeclipse 激活码
- new带括号与不带括号的区别
- c++随笔
- vs2010调用Tesseract_ocr时遇到的问题
- 【百度之星2014~初赛(第二轮)解题报告】JZP Set