当前位置: 首页 > wzjs >正文

腾讯快速建站平台wordpress主题压缩包

腾讯快速建站平台,wordpress主题压缩包,新年免费ppt模板下载,专业网页制作的帮手📌 题目描述 给定一棵二叉树的根节点 root,请返回 出现次数最多 的 子树元素和。如果有多个元素出现次数相同,返回所有出现次数最多的子树元素和(顺序不限)。 示例 1 输入: root [5,2,-3]输出&#xf…

📌 题目描述

给定一棵二叉树的根节点 root,请返回 出现次数最多子树元素和。如果有多个元素出现次数相同,返回所有出现次数最多的子树元素和(顺序不限)。

示例 1

输入:

root = [5,2,-3]

输出:

[2,-3,4]

示例对应的二叉树如下:

    5/ \2  -3

子树元素和的计算如下:

  • 以节点 5 为根的子树元素和为 5 + 2 + (-3) = 4

  • 以节点 2 为根的子树元素和为 2

  • 以节点 -3 为根的子树元素和为 -3

每个和的出现次数分别是:2 -> 1-3 -> 14 -> 1,因此所有子树元素和的出现次数相同,返回 [2, -3, 4]

示例 2

输入:

root = [5,2,-5]

输出:

[2]

示例对应的二叉树如下:

    5/ \2  -5

子树元素和的计算如下:

  • 以节点 5 为根的子树元素和为 5 + 2 + (-5) = 2

  • 以节点 2 为根的子树元素和为 2

  • 以节点 -5 为根的子树元素和为 -5

出现频率:2 -> 2-5 -> 1,因此返回 [2]


🧐 解题思路

  1. 遍历二叉树,计算所有子树元素和

  2. 使用哈希表(HashMap)统计每个子树元素和的出现次数

  3. 找到出现次数最多的子树元素和

  4. 返回所有出现频率最高的子树元素和

核心思想: 使用 后序遍历(DFS) 计算子树元素和,并用 哈希表记录频率


💻 代码实现(Java)

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;class TreeNode {int val;TreeNode left, right;TreeNode(int val) { this.val = val; }TreeNode(int val, TreeNode left, TreeNode right) {this.val = val;this.left = left;this.right = right;}
}class Solution {private Map<Integer, Integer> map = new HashMap<>();private int maxFrequency = 0;public int[] findFrequentTreeSum(TreeNode root) {dfs(root);List<Integer> result = new ArrayList<>();for (Map.Entry<Integer, Integer> entry : map.entrySet()) {if (entry.getValue() == maxFrequency) {result.add(entry.getKey());}}return result.stream().mapToInt(i -> i).toArray();}private int dfs(TreeNode node) {if (node == null) {return 0;}int sum = node.val + dfs(node.left) + dfs(node.right);map.put(sum, map.getOrDefault(sum, 0) + 1);maxFrequency = Math.max(maxFrequency, map.get(sum));return sum;}
}

📌 复杂度分析

  • 时间复杂度: O(N),其中 N 是二叉树的节点数,每个节点只遍历一次。

  • 空间复杂度: O(N),使用了哈希表来存储子树元素和的频率。


🌟 总结

使用后序遍历(DFS)计算子树元素和用哈希表存储每个子树元素和的出现频率找到频率最高的子树元素和,并返回结果

这个方法不仅简单高效,而且易于理解。希望这篇文章能帮助你更好地理解 二叉树的子树元素和计算

如果觉得这篇文章对你有帮助,欢迎 点赞 👍 收藏 ⭐ 评论 💬,让更多人受益!🚀🚀🚀

http://www.dtcms.com/wzjs/538558.html

相关文章:

  • 网站用什么开发软件做百度关键词搜索量排名
  • 上海电商网站设计wordpress cosy2.04
  • 潜江市住房城乡建设厅网站北京网页设计高端定制
  • wordpress安装disuz网站优化报告
  • 网站建设交流论坛百度seo公司哪家最好
  • 网站建设商家电商网站建设实验原理
  • 微信推广和网站推广哪个好环球网站建设
  • 云梦网站怎么做浮窗专业服务网站建设
  • 使用django建设一个网站wordpress 人物照片墙
  • 做网站如何把栏目放到首页新手如何做服装网站
  • 平台网站做代理商网站上线前应该备案吗
  • 在线注册南昌网站排名优化报价
  • 嘉兴做网站优化vi设计logo
  • 订餐网站模板下载专业网页制作多少钱
  • 自适应网站建设软件高品质网站建设公司
  • 什么网站可以做模型挣钱百度建设公司网站
  • 高端企业门户网站建设费用建筑工程网上联合报审
  • 杭州网站建设外包有免费的个人网站吗
  • 网上做图赚钱的网站台州seo排名公司
  • 什么公司做网站给你一个网站如何做推广
  • 抄底券网站怎么做的温州网站建设设计
  • 网站首页默认的文件名一般为淘宝客建设网站
  • 做信息分类网站难吗关闭开发者模式
  • 陕西交通建设集团蓝商公司网站wordpress新建文章页修改图片样式
  • 制作一个自适应网站源码wordpress安装到虚机
  • 工信部外国网站备案seo资料
  • 广州市外贸网站建设企业做网站前台用什么
  • 建设网站和网页有啥区别关键词排名优化易下拉技巧
  • 扁平化风格网站模板dede 网站地图样式
  • 制作网站的软件什么好用跑腿小程序开发