(Java)leetcode-965 Univalued Binary Tree(单值二叉树)

£神魔★判官ぃ 2023-02-14 10:41 50阅读 0赞

题目描述

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.

思路

典型遍历问题。。。

代码

  1. class Solution {
  2. public boolean isUnivalTree(TreeNode root) {
  3. if(root == null) return false;
  4. return travelTree(root, root.val);
  5. }
  6. private boolean travelTree(TreeNode root, int val) {
  7. if(root == null) return true;
  8. if(root.val != val) return false;
  9. return travelTree(root.left, val) && travelTree(root.right, val);
  10. }
  11. }

在这里插入图片描述

简洁版

  1. int val = -1;
  2. public boolean isUnivalTree(TreeNode root) {
  3. if (root == null) return true;
  4. if (val < 0) val = root.val;
  5. return root.val == val && isUnivalTree(root.left) && isUnivalTree(root.right);
  6. }

发表评论

表情:
评论列表 (有 0 条评论,50人围观)

还没有评论,来说两句吧...

相关阅读

    相关 965.

    如果二叉树每个节点都具有相同的值,那么该二叉树就是单值二叉树。 只有给定的树是单值二叉树时,才返回 `true`;否则返回 `false`。 示例 1: ![25a1c9

    相关 Leetcode965

    如果二叉树每个节点都具有相同的值,那么该二叉树就是单值二叉树。 只有给定的树是单值二叉树时,才返回 `true`;否则返回 `false`。 思路:递归即可,即满足,则是左