單值二叉樹

題目描述
如果二叉樹每個節點都具有相同的值,那麼該二叉樹就是單值二叉樹。
只有給定的樹是單值二叉樹時,才返回 true;否則返回 false。

示例1:
在這裏插入圖片描述
輸入:[1,1,1,1,1,null,1]
輸出:true

示例 2:

在這裏插入圖片描述
輸入:[2,2,2,5,2]
輸出:false

來源:力扣
鏈接:單值二叉樹

代碼示例:

bool isUnivalTree(struct TreeNode* root){
	//將空樹看爲單值二叉樹, 返回true
    if (root == NULL)
    {
        return true;
    }
    // 判斷左孩子是否存在, 並且是否與父節點值相等
    if (root->left && root->left->val != root->val)
    {
        return false;
    }
    // 判斷右孩子是否存在, 並且是否與父節點值相等
    if (root->right && root->right->val != root->val)
    {
        return false;
    }
	//遞歸調用
    return isUnivalTree(root->left) && isUnivalTree(root->right);
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章