单值二叉树:如果二叉树每个节点都具有相同的值,那么该二叉树就是单值二叉树。 只有给定的树是单值二叉树时,才返回 true;否则返回 false。

Posted 快乐江湖

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了单值二叉树:如果二叉树每个节点都具有相同的值,那么该二叉树就是单值二叉树。 只有给定的树是单值二叉树时,才返回 true;否则返回 false。相关的知识,希望对你有一定的参考价值。

前言:

二叉树刷题是有固定思维的,请移步

README】二叉树刷题框架

单值二叉树

题目

点击跳转:LeetCode

在这里插入图片描述

根据框架描述,我只需判断一个结点,如果这个节点是null就返回true,不是的话,如果左子树结点存在就判断左子树结点的值是否和本节点值相同,不相同返回false,右子树也是一样。剩下的交给递归,只有当左子树和右子树同时不返回false的时候此题才是一颗单值二叉树

class Solution {
public:
    bool isUnivalTree(TreeNode* root) 
    {
        if(root==NULL)
            return true;
        if(root->left && root->val!=root->left->val)//左子树不是空,看值是否相同
            return false;
        if(root->right && root->val != root->right->val)//右子树不是空,看值是否相同
            return false;
        
        return isUnivalTree(root->left) && isUnivalTree(root->right);
    }
};

在这里插入图片描述

以上是关于单值二叉树:如果二叉树每个节点都具有相同的值,那么该二叉树就是单值二叉树。 只有给定的树是单值二叉树时,才返回 true;否则返回 false。的主要内容,如果未能解决你的问题,请参考以下文章

965. 单值二叉树

单值二叉树

单值二叉树(2021-8-8)

2021-10-22刷题总结

⭐算法入门⭐《二叉树》简单01 —— LeetCode 965. 单值二叉树

几道简单的二叉树OJ题