Description
A binary tree is univalued if every node in the tree has the same value.
Return true if and only if the given tree is univalued.
Example 1:
Input: [1,1,1,1,1,null,1]
Output: true
Example 2:
Input: [2,2,2,5,2]
Output: false
Note:
- The number of nodes in the given tree will be in the range [1, 100].
- Each node's value will be an integer in the range [0, 99].
Analyse
判断一棵树是不是所有节点的值都相同
这里用的层序遍历
bool isUnivalTree(TreeNode* root) {
int value = root->val;
queue<TreeNode*> que;
que.push(root);
while (!que.empty())
{
TreeNode* node = que.front();
que.pop();
if (node->val != value)
{
return false;
}
else
{
if (node->left)
{
que.push(node->left);
}
if (node->right)
{
que.push(node->right);
}
}
}
return true;
}
这样就4ms faster than 100.00%了,这道题现在做的人太少了,都看不到条形图