输入:一棵二叉树
要求:判断所有节点的值是否都相同
输出:true / false
思路:核心判断条件非常简单:整棵树所有节点的值必须与根节点相同。遍历的时候顺手判定下就好。
复杂度:
时间复杂度:O(n)
空间复杂度:O(h)
class Solution {
public:
bool order(TreeNode* root, int target) {
if (!root) {
return true;
}
if (root->val != target) {
return false;
}
order(root->left, target);
order(root->right,target);
return order(root->left, target) && order(root->right, target);
}
bool isUnivalTree(TreeNode* root) {
int target = root->val;
return order(root, target);
}
};
86

被折叠的 条评论
为什么被折叠?



