<p>给你一棵 <strong>完整二叉树</strong> 的根,这棵树有以下特征:</p> <ul> <li><strong>叶子节点</strong> 要么值为 <code>0</code> 要么值为 <code>1</code> ,其中 <code>0</code> 表示 <code>False</code> ,<code>1</code> 表示 <code>True</code> 。</li> <li><strong>非叶子节点 </strong>要么值为 <code>2</code> 要么值为 <code>3</code> ,其中 <code>2</code> 表示逻辑或 <code>OR</code> ,<code>3</code> 表示逻辑与 <code>AND</code> 。</li> </ul> <p><strong>计算</strong> 一个节点的值方式如下:</p> <ul> <li>如果节点是个叶子节点,那么节点的 <strong>值</strong> 为它本身,即 <code>True</code> 或者 <code>False</code> 。</li> <li>否则,<strong>计算</strong> 两个孩子的节点值,然后将该节点的运算符对两个孩子值进行 <strong>运算</strong> 。</li> </ul> <p>返回根节点<em> </em><code>root</code> 的布尔运算值。</p> <p><strong>完整二叉树</strong> 是每个节点有 <code>0</code> 个或者 <code>2</code> 个孩子的二叉树。</p> <p><strong>叶子节点</strong> 是没有孩子的节点。</p> <p> </p> <p><strong>示例 1:</strong></p> <p><img alt="" src="https://assets.leetcode.com/uploads/2022/05/16/example1drawio1.png" style="width: 700px; height: 252px;"></p> <pre><b>输入:</b>root = [2,1,3,null,null,0,1] <b>输出:</b>true <b>解释:</b>上图展示了计算过程。 AND 与运算节点的值为 False AND True = False 。 OR 运算节点的值为 True OR False = True 。 根节点的值为 True ,所以我们返回 true 。</pre> <p><strong>示例 2:</strong></p> <pre><b>输入:</b>root = [0] <b>输出:</b>false <b>解释:</b>根节点是叶子节点,且值为 false,所以我们返回 false 。 </pre> <p> </p> <p><strong>提示:</strong></p> <ul> <li>树中节点数目在 <code>[1, 1000]</code> 之间。</li> <li><code>0 <= Node.val <= 3</code></li> <li>每个节点的孩子数为 <code>0</code> 或 <code>2</code> 。</li> <li>叶子节点的值为 <code>0</code> 或 <code>1</code> 。</li> <li>非叶子节点的值为 <code>2</code> 或 <code>3</code> 。</li> </ul>