网站建设一般收费,优化网站工具,seo公司服务,可以打开的wap网站题目#xff08;力扣#xff09;#xff1a; 判断二叉树上每个节点的值是否相同#xff0c;就需要让root节点分别与左节点和右节点分别比较是否相同。
注意#xff1a;root等于空时#xff0c;直接可以返回true#xff1b;
首先#xff0c;先判断他的特殊情况#x…题目力扣 判断二叉树上每个节点的值是否相同就需要让root节点分别与左节点和右节点分别比较是否相同。
注意root等于空时直接可以返回true
首先先判断他的特殊情况
当root NULL时即可return true if (!root){return true;}
接着就可以分别去判断root和他的左节点的值是否相同root和他的右节点的值是否想同。
判左 if (root-left){if (root-val ! root-left-val|| !isUnivalTree(root-left))return false;}
判右 if (root-right){if (root-val ! root-right-val|| !isUnivalTree(root-right))return false;} 由于要层层递进的判断每个节点所以要使用递归遍历到每个节点。
最后由于所有false情况都已经判断过了如果有情况上述false都不满足则最后返回true。
return true;
题目的提交 完整代码
bool isUnivalTree(struct TreeNode* root) {if (!root){return true;}if (root-left){if (root-val ! root-left-val|| !isUnivalTree(root-left))return false;}if (root-right){if (root-val ! root-right-val|| !isUnivalTree(root-right))return false;}return true;
}