摘要:题目链接题目分析如果二叉树中所有节点的值都相同,那么该二叉树被称为单值二叉树。思路思路比较简单,把值存入全局变量数组中,再对数组的值去重。判断该数组长度是否为即可。最终代码优化方案把值作为数组的键则可以省去去重步骤。若不同则直接退出即可。
965. Univalued Binary Tree 题目链接
965. Univalued Binary Tree
题目分析如果二叉树中所有节点的值都相同,那么该二叉树被称为单值二叉树。
当给定的二叉树是单值二叉树时返回true,否则返回false。
思路思路比较简单,把值存入全局变量数组中,再对数组的值去重。判断该数组长度是否为1即可。
最终代码val = $value; } } */ class Solution { private $vals = []; function isUnivalTree($root) { $this->getVal($root); return count(array_count_values(array_filter($this->val,function($v){ return !is_null($v); })))==1; } function getVal($root){ $this->val[] = $root->val; if($root->left){ $this->getVal($root->left); } if($root->right){ $this->getVal($root->right); } } }优化方案
把值作为数组的键则可以省去去重步骤。
在存入之前就可以判断值是否与前面的值相同。若不同则直接退出即可。
若觉得本文章对你有用,欢迎用爱发电资助。
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/31250.html
摘要:题目链接题目分析在二叉树中,若两个叶子节点的层数相同,但具有不同的父节点,那么这两个节点互为节点。给定一个二叉树及两个节点,返回两个节点在二叉树中,是否互为节点。遍历完成后,直接判断数组中对应的值是否相同即可。 D76 993. Cousins in Binary Tree 题目链接 993. Cousins in Binary Tree 题目分析 在二叉树中,若两个叶子节点的层数相同...
摘要:题目链接题目分析反转二叉树。思路类似反转两个变量,先把左右子树存进单独的变量,再相互覆盖左右子树。并对子树进行相同的操作。最终代码若觉得本文章对你有用,欢迎用爱发电资助。 D59 226. Invert Binary Tree 题目链接 226. Invert Binary Tree 题目分析 反转二叉树。 思路 类似反转两个变量,先把左右子树存进单独的变量,再相互覆盖左右子树。 并...
摘要:题目链接题目分析返回给定的二叉树有多少层。思路每下一级,层树,并记录到类属性中。并判断是否大于已知最深层树。最终代码若觉得本文章对你有用,欢迎用爱发电资助。 104. Maximum Depth of Binary Tree 题目链接 104. Maximum Depth of Binary Tree 题目分析 返回给定的二叉树有多少层。 思路 每下一级,层树+1,并记录到类属性lev...
摘要:题目链接题目分析从给定的二叉树中,查找指定值及其子节点。思路这个好像不用多说什么了吧按先序遍历搜索,找到则返回。最终代码若觉得本文章对你有用,欢迎用爱发电资助。 700. Search in a Binary Search Tree 题目链接 700. Search in a Binary Search Tree 题目分析 从给定的二叉树中,查找指定值及其子节点。 思路 这个好像不用多...
摘要:题目链接题目分析返回每一层的平均值。思路和前一篇相似。先保存每一层的值,再逐层计算平均值即可。最终代码若觉得本文章对你有用,欢迎用爱发电资助。 D56 637. Average of Levels in Binary Tree 题目链接 637. Average of Levels in Binary Tree 题目分析 返回每一层的平均值。 思路 和前一篇相似。先保存每一层的值,再逐...
阅读 994·2023-04-25 14:45
阅读 2771·2021-09-30 09:59
阅读 3114·2021-09-22 15:48
阅读 2423·2019-08-30 15:55
阅读 3467·2019-08-30 15:44
阅读 535·2019-08-29 14:07
阅读 3411·2019-08-26 13:45
阅读 534·2019-08-26 11:31