美文网首页leetcode算法
965. 单值二叉树

965. 单值二叉树

作者: 刘翊扬 | 来源:发表于2022-05-24 23:34 被阅读0次

    965. 单值二叉树 - 力扣(LeetCode)
    如果二叉树每个节点都具有相同的值,那么该二叉树就是单值二叉树。

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

    示例 1:

    image.png

    输入:[1,1,1,1,1,null,1]
    输出:true

    示例 2:

    image.png
    输入:[2,2,2,5,2]
    输出:false

    提示:

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

    方法一:广度优先算法

    /**
     * Definition for a binary tree node.
     * public class TreeNode {
     *     int val;
     *     TreeNode left;
     *     TreeNode right;
     *     TreeNode() {}
     *     TreeNode(int val) { this.val = val; }
     *     TreeNode(int val, TreeNode left, TreeNode right) {
     *         this.val = val;
     *         this.left = left;
     *         this.right = right;
     *     }
     * }
     */
    class Solution {
        public  boolean isUnivalTree(TreeNode root) {
            int target = root.val;
            return trace(root, target);
        }
    
        boolean trace(TreeNode root, int target) {
            if (root == null) {
                return true;
            }
            if (target != root.val) {
                return false;
            }
            return trace(root.left, target) && trace(root.right, target);
        }
    }
    

    来源:力扣(LeetCode)
    链接:https://leetcode.cn/problems/univalued-binary-tree
    著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

    相关文章

      网友评论

        本文标题:965. 单值二叉树

        本文链接:https://www.haomeiwen.com/subject/kggsprtx.html