Q
思路
① 利用数学中简单的传递性原理,根左右三个为一组判断(如图)
② 从根开始检查 ,检查到叶子节点前面没问题return true
;若中间有一个不对return false
代码
/**
* Definition for a binary tree node.
* struct TreeNode {
* int val;
* struct TreeNode *left;
* struct TreeNode *right;
* };
*/
bool isUnivalTree(struct TreeNode* root){
if(root==NULL) return true;
if(root->left&&(root->left->val!=root->val)) return false;
if(root->right&&(root->right->val!=root->val)) return false;
return isUnivalTree(root->left)&& isUnivalTree(root->right);
}
```