98. Validate Binary Search Tree
来源:互联网 发布:梦想成真软件系统 编辑:程序博客网 时间:2024/06/06 00:26
首先根节点必须大于左节点,小于右节点,重点在于根节点小于(右子节点的最左节点)&&根节点大于(左节点的最右节点)
/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */public class Solution { public boolean isValidBST(TreeNode root) { return dfs(root); } private boolean dfs(TreeNode root){ if(root==null)return true; //if(root.right==null&&root.left==null)return true; if(root.right!=null){if(root.val>=root.right.val)return false;} if(root.left!=null){if(root.val<=root.left.val)return false;} if(root.left!=null&&root.val<=dfsRight(root.left))return false; if(root.right!=null&&root.val>=dfsLeft(root.right))return false; return dfs(root.left)&&dfs(root.right); } private int dfsRight(TreeNode root){//递归找节点的最右子节点 if(root.right!=null)return dfsRight(root.right); else{return root.val;} } private int dfsLeft(TreeNode root){//递归找节点的最左子节点 if(root.left!=null)return dfsLeft(root.left); else{return root.val;} }}
0 0
- 98. Validate Binary Search Tree
- 98. Validate Binary Search Tree
- 98. Validate Binary Search Tree
- 98. Validate Binary Search Tree
- 98. Validate Binary Search Tree
- 98. Validate Binary Search Tree
- 98. Validate Binary Search Tree
- 98. Validate Binary Search Tree
- 98. Validate Binary Search Tree
- 98. Validate Binary Search Tree
- 98. Validate Binary Search Tree
- 98. Validate Binary Search Tree
- 98. Validate Binary Search Tree
- 98. Validate Binary Search Tree
- 98. Validate Binary Search Tree
- 98. Validate Binary Search Tree
- 98. Validate Binary Search Tree
- 98. Validate Binary Search Tree
- 二次排序
- C++ string类型详解
- Spring Boot 动态数据源(多数据源自动切换)
- Spark不是唯一,三种新兴的开源数据分析工具
- C++基础:各种输入方法总结,cin、cin.get()、cin.getline()、getline()、gets()、getchar()
- 98. Validate Binary Search Tree
- python之numpy.power()数组元素求n次方
- 第2.1.3章 WEB系统最佳实践Spring文件配置之spring-dao.xml
- Spring Boot 事务的使用
- STL容器总结之deque
- 怎样Linux下修复U盘驱动器
- 第七周 OJ总结<6>-求奖金总数
- STL容器总结之list
- Linux设备驱动--系统调用