LeetCode刷题之路 单值二叉树

作者: 小北写码 | 来源:发表于2019-02-15 12:56 被阅读28次

    单值二叉树【简单】

    如果二叉树每个节点都具有相同的值,那么该二叉树就是单值二叉树。

    只有给定的树是单值二叉树时,才返回 true;否则返回 false

    示例 1:

    img
    输入:[1,1,1,1,1,null,1]
    输出:true
    

    示例 2:

    img
    输入:[2,2,2,5,2]
    输出:false
    

    提示:

    1. 给定树的节点数范围是 [1, 100]
    2. 每个节点的值都是整数,范围为 [0, 99]

    解题思路

    满足单值二叉树就是要所有的节点的值为同样的一个值或者为空。所以就只需要写一个循环将二叉树所有的节点的值都遍历出来,不满足条件就直接返回false。代码如下:

    # Definition for a binary tree node.
    # class TreeNode:
    #     def __init__(self, x):
    #         self.val = x
    #         self.left = None
    #         self.right = None
    
    class Solution:   
        def isUnivalTree(self, root):
            """
            :type root: TreeNode
            :rtype: bool
            """
            def dfs(root,val):
                if not root:
                    return True
                if root.val != val:
                    return False
                return dfs(root.left,val) and dfs(root.right,val)
            return dfs(root,root.val)
    

    相关文章

      网友评论

        本文标题:LeetCode刷题之路 单值二叉树

        本文链接:https://www.haomeiwen.com/subject/emppeqtx.html