给定一个二叉树根节点,请你判断这棵树是不是二叉搜索树。 二叉搜索树满足每个节点的左子节点小于当前节点且右子节点大于当前节点。 例: 图1 图2 数据范围:节点数量满足 ,节点上的值满足-笔试面试资料

这是qklbishe.com第18685 篇笔试面试资料
提供答案分析,通过本文《给定一个二叉树根节点,请你判断这棵树是不是二叉搜索树。
二叉搜索树满足每个节点的左子节点小于当前节点且右子节点大于当前节点。
例: 图1
图2
数据范围:节点数量满足 ,节点上的值满足-笔试面试资料》可以理解其中的代码原理,这是一篇很好的求职学习资料
本站提供程序员计算机面试经验学习,笔试经验,包括字节跳动/头条,腾讯,阿里,美团,滴滴出行,网易,百度,京东,小米,华为,微软等互联网大厂真题学习背诵。

答案:

给定一个二叉树根节点,请你判断这棵树是不是二叉搜索树。
二叉搜索树满足每个节点的左子节点小于当前节点且右子节点大于当前节点。
例:
给定一个二叉树根节点,请你判断这棵树是不是二叉搜索树。          二叉搜索树满足每个节点的左子节点小于当前节点且右子节点大于当前节点。          例:         图1          图2          数据范围:节点数量满足  ,节点上的值满足
图1
给定一个二叉树根节点,请你判断这棵树是不是二叉搜索树。          二叉搜索树满足每个节点的左子节点小于当前节点且右子节点大于当前节点。          例:         图1          图2          数据范围:节点数量满足  ,节点上的值满足
图2
数据范围:节点数量满足 给定一个二叉树根节点,请你判断这棵树是不是二叉搜索树。          二叉搜索树满足每个节点的左子节点小于当前节点且右子节点大于当前节点。          例:         图1          图2          数据范围:节点数量满足  ,节点上的值满足 ,节点上的值满足 给定一个二叉树根节点,请你判断这棵树是不是二叉搜索树。          二叉搜索树满足每个节点的左子节点小于当前节点且右子节点大于当前节点。          例:         图1          图2          数据范围:节点数量满足  ,节点上的值满足
Java

给定一个二叉树根节点,请你判断这棵树是不是二叉搜索树。          二叉搜索树满足每个节点的左子节点小于当前节点且右子节点大于当前节点。          例:         图1          图2          数据范围:节点数量满足  ,节点上的值满足 努力学好算法的小白

import java.util.*;  /*  * public class TreeNode {  *   int val = 0;  *   TreeNode left = null;  *   TreeNode right = null;  *   public TreeNode(int val) {  *     this.val = val;  *   }  * }  */  public class Solution {     /**      * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可      *      *       * @param root TreeNode类       * @return bool布尔型      */     static int min = Integer.MIN_VALUE;     public boolean isValidBST (TreeNode root) {         // write code here        if(root == null){            return true;        }                   if( !(isValidBST(root.left))  ){             return false;         }                  if(root.val <= min){             return false;         }else{             min = root.val;         }                                            if( !(isValidBST(root.right))  ){             return false;         }                  return true;              } }  
上述是递归的实现
import java.util.*;  /*  * public class TreeNode {  *   int val = 0;  *   TreeNode left = null;  *   TreeNode right = null;  *   public TreeNode(int val) {  *     this.val = val;  *   }  * }  */  public class Solution {     /**      * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可      *      *       * @param root TreeNode类       * @return bool布尔型      */     static int min = Integer.MIN_VALUE;     public boolean isValidBST (TreeNode root) {         // write code here        if(root == null){            return true;        }          //        Stack<TreeNode> stack = new  Stack<TreeNode>();          //        while(! stack.isEmpty()  || root!=null){ //            //入栈向左一直走 //            if(root != null){ //                stack.push(root); //                root = root.left; //            }else{ //                //访问右子树 //                root = stack.pop(); //                if(root.val <= min){ //                    return false; //                }else{ //                    min = root.val; //                    root = root.right; //                }                                 //            } //        }         if( !(isValidBST(root.left))  ){             return false;         }                  if(root.val <= min){             return false;         }else{             min = root.val;         }                                            if( !(isValidBST(root.right))  ){             return false;         }                  return true;              } }

今天 00:18:45 回复(0)

文章部分来自互联网,侵权联系删除
www.qklbishe.com

区块链毕设网(www.qklbishe.com)全网最靠谱的原创区块链毕设代做网站
部分资料来自网络,侵权联系删除!
资源收费仅为搬运整理打赏费用,用户自愿支付 !
qklbishe.com区块链毕设代做网专注|以太坊fabric-计算机|java|毕业设计|代做平台 » 给定一个二叉树根节点,请你判断这棵树是不是二叉搜索树。 二叉搜索树满足每个节点的左子节点小于当前节点且右子节点大于当前节点。 例: 图1 图2 数据范围:节点数量满足 ,节点上的值满足-笔试面试资料

提供最优质的资源集合

立即查看 了解详情