题目 给你一棵完整二叉树的根,这棵树有以下特征: 叶子节点要么值为0要么值为1,其中0表示False,1表示True。 非叶子节点要么值为2要么值为3,其中2表示逻辑或OR,3表示逻辑与AND。 计算一个节点的值方式如下: 如果节点是个叶子节点,那么节点的值为它本身,即True或者False。 否则,计算两个孩子的节点值,然后将该节点的运算符对两个孩子值进行运算。 返回根节点root的布尔运算值。 完整二叉树是每个节点有0个或者2个孩子的二叉树。 叶子节点是没有孩子的节点。 示例1:输入:root〔2,1,3,null,null,0,1〕输出:true 解释:上图展示了计算过程。 AND与运算节点的值为FalseANDTrueFalse。 OR运算节点的值为TrueORFalseTrue。 根节点的值为True,所以我们返回true。 示例2:输入:root〔0〕输出:false 解释:根节点是叶子节点,且值为false,所以我们返回false。 提示:树中节点数目在〔1,1000〕之间。 0Node。val3 每个节点的孩子数为0或2。 叶子节点的值为0或1。 非叶子节点的值为2或3。解题思路分析 1、递归;时间复杂度O(n),空间复杂度O(log(n)) funcevaluateTree(rootTreeNode)bool{ifroot。Leftnilroot。Rightnil{叶子节点returnroot。Val1}ifroot。Val2{returnevaluateTree(root。Left)evaluateTree(root。Right)}ifroot。Val3{returnevaluateTree(root。Left)evaluateTree(root。Right)}returntrue}总结 Easy题目,二叉树题目