965. Univalued Binary Tree

Source code notebook Author Update time

A binary tree is univalued if every node in the tree has the same value.

Return true if and only if the given tree is univalued.

Example 1:

Input: [1,1,1,1,1,null,1]
Output: true

Example 2:

Input: [2,2,2,5,2]
Output: false

Note:

  1. The number of nodes in the given tree will be in the range [1, 100].
  2. Each node's value will be an integer in the range [0, 99].
# @lc code=start
using LeetCode

function is_unival_tree(root::TreeNode)
    is_unival_tree(::Nothing, ::Int) = true
    is_unival_tree(root::TreeNode, val::Int) =
        (root.val != val) ? false :
               is_unival_tree(root.left, val) && is_unival_tree(root.right, val)
    return is_unival_tree(root, root.val)
end
# @lc code=end
is_unival_tree (generic function with 1 method)

This page was generated using DemoCards.jl and Literate.jl.