Skip to content

Latest commit

 

History

History
59 lines (50 loc) · 1.44 KB

965. Univalued Binary Tree.md

File metadata and controls

59 lines (50 loc) · 1.44 KB

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:

Example1

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

Example 2:

Example2

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

Note:

  • The number of nodes in the given tree will be in the range [1, 100].
  • Each node's value will be an integer in the range [0, 99].

Solution

  • java
    • mine Runtime: 0 ms, faster than 100.00% of Java online submissions
      /**
       * Definition for a binary tree node.
       * public class TreeNode {
       *     int val;
       *     TreeNode left;
       *     TreeNode right;
       *     TreeNode(int x) { val = x; }
       * }
       */
      class Solution {
          int val = -1;
          public boolean isUnivalTree(TreeNode root) {
              if(root == null){
                  return true;
              }
              if(val == -1){
                  val = root.val;
              }
              if(val != root.val){
                  return false;
              }
              if(root.left == null && root.right == null){
                  return true;
              }
              return isUnivalTree(root.left) && isUnivalTree(root.right);
          }
      }