如果二叉树每个节点都具有相同的值,那么该二叉树就是单值二叉树。
只有给定的树是单值二叉树时,才返回 true
;否则返回 false
。
思路:递归即可,即满足,则是左子树满足,右子树满足。的情况下才都满足。并且开辟一个新函数,传递一个变量
/**
* Definition for a binary tree node.
* struct TreeNode {
* int val;
* TreeNode *left;
* TreeNode *right;
* TreeNode(int x) : val(x), left(NULL), right(NULL) {}
* };
*/
class Solution {
public:
bool isUi(TreeNode* root,int val){
if(root == NULL)
return true;
if(root->val!=val)
return false;
if(root->val==val&&isUi(root->left,val)&&isUi(root->right,val))
return true;
return false;
}
bool isUnivalTree(TreeNode* root) {
if(root==NULL)
return false;
return isUi(root->left,root->val)&&isUi(root->right,root->val);
}
};