如果二叉树每个节点都具有相同的值,那么该二叉树就是单值二叉树。
只有给定的树是单值二叉树时,才返回 true;否则返回 false。
#include<stdio.h>
#include<stdbool.h>
//Definition for a binary tree node.
struct TreeNode {
int val;
struct TreeNode *left;
struct TreeNode *right;
};
bool order(struct TreeNode* root, int key) {
//走到叶子, 返回真
if (root == NULL)
return true;
//递归, 只要有一个结点值不等于key 就是假
return root->val == key
&& order(root->left, key)
&& order(root->right, key);
}
bool isUnivalTree(struct TreeNode* root) {
return order(root, root->val);
}