单值二叉树:如果二叉树每个节点都具有相同的值,那么该二叉树就是单值二叉树。 只有给定的树是单值二叉树时,才返回 true;否则返回 false。
Posted 快乐江湖
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了单值二叉树:如果二叉树每个节点都具有相同的值,那么该二叉树就是单值二叉树。 只有给定的树是单值二叉树时,才返回 true;否则返回 false。相关的知识,希望对你有一定的参考价值。
前言:
二叉树刷题是有固定思维的,请移步
单值二叉树
题目
点击跳转: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。的主要内容,如果未能解决你的问题,请参考以下文章