zoukankan      html  css  js  c++  java
  • LeetCode 965. Univalued Binary Tree

    965. Univalued Binary Tree(单值二叉树)

    链接

    https://leetcode-cn.com/problems/univalued-binary-tree

    题目

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

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

    示例 1:

    输入:[1,1,1,1,1,null,1]
    输出:true
    示例 2:

    输入:[2,2,2,5,2]
    输出:false
     
    提示:

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

    思路

    题目不难,方法多种,我是选择直接对于每个结点进行一次判断,最后得到结果。也可以直接遍历,把所有的值存放到一个set当中,若set长度为1则成立。

    代码

    public class TreeNode {
    
        int val;
        TreeNode left;
        TreeNode right;
    
        TreeNode(int x) {
          val = x;
        }
      }
    
    
      public static boolean isUnivalTree(TreeNode root) {
        if (root == null) {
          return true;
        }
        if (root.left != null && root.left.val != root.val) {
          return false;
        }
        if (root.right != null && root.right.val != root.val) {
          return false;
        }
        return isUnivalTree(root.left) && isUnivalTree(root.right);
      }
    
    
  • 相关阅读:
    033 流程控制之if判断
    032 基本运算符
    031 格式化输出的三种方式
    030 Python与用户交互
    029 解压缩
    028 布尔类型
    027 字典类型
    026 列表类型
    025 字符串类型
    023 数据类型基础
  • 原文地址:https://www.cnblogs.com/blogxjc/p/12243573.html
Copyright © 2011-2022 走看看