Skip to content

Latest commit

 

History

History
executable file
·
52 lines (42 loc) · 1.11 KB

965. Univalued Binary Tree.md

File metadata and controls

executable file
·
52 lines (42 loc) · 1.11 KB

965. Univalued Binary Tree

Question:

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].

Solution:

  • Method 1: dfs
    /**
     * Definition for a binary tree node.
     * public class TreeNode {
     *     int val;
     *     TreeNode left;
     *     TreeNode right;
     *     TreeNode(int x) { val = x; }
     * }
     */
    class Solution {
        private int pre;
        public boolean isUnivalTree(TreeNode root) {
            pre = root.val;
            return check(root.left) && check(root.right);
        }
        private boolean check(TreeNode node){
            if(node == null) return true;
            else if(pre != node.val) return false;
            else{
                return check(node.left) && check(node.right);
            }
        }
    }