赞
踩
题目链接:2331. 计算布尔二叉树的值
这个问题的理解其实相当简单,只需看一下示例,基本就能明白其含义了。
算法思路概述:
算法流程设计:
递归函数设计:
evaluateTree
递归函数流程:
解释:
evaluateTree
,我们遍历二叉树节点,并根据逻辑运算符进行计算。- /**
- * Definition for a binary tree node.
- * struct TreeNode {
- * int val;
- * TreeNode *left;
- * TreeNode *right;
- * TreeNode() : val(0), left(nullptr), right(nullptr) {}
- * TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}
- * TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left), right(right) {}
- * };
- */
- class Solution
- {
- public:
- bool evaluateTree(TreeNode* root)
- {
- if(root->left == nullptr) return root->val;
- bool left = evaluateTree(root->left);
- bool right = evaluateTree(root->right);
- return root->val == 2 ? left | right : left & right;
- }
- };
嗯,就是这样啦,文章到这里就结束啦,真心感谢你花时间来读。
觉得有点收获的话,不妨给我点个赞吧!
如果发现文章有啥漏洞或错误的地方,欢迎私信我或者在评论里提醒一声~
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。