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

深圳工程建设有限公司长沙百度搜索排名优化

深圳工程建设有限公司,长沙百度搜索排名优化,android 创建wordpress,销售管理系统下载📌 题目描述 给定一棵二叉树的根节点 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/465700.html

相关文章:

  • 网站建设组织管理怎么写微指数查询入口
  • 网站二维码链接怎么做小吴seo博客
  • 网站框架地图长春网络优化哪个公司在做
  • 南京网站搭建公司河南郑州做网站的公司
  • 南京网站建设公司开发上海做推广的引流公司
  • e4a做网站适合seo的网站
  • 配置网站域名展示型网站有哪些
  • 武汉那些网站做家教的网文推广怎么做
  • 哈尔滨建站的网站网页外贸推广代理
  • 网站的版式设计seo网络营销推广公司深圳
  • 网络架设seo关键词优化服务
  • 官网网站开发新手20种引流推广方法
  • 名气特别高的手表网站西seo优化排名
  • 怎么用word做一个网站seo实战密码
  • 数据库和网站开发百度seo关键词怎么做
  • 中网可信网站是真的吗东莞seo排名收费
  • wordpress开发者模式北京seo方法
  • 建筑信息平台查询google优化推广
  • 网站素材模板seo顾问公司
  • 对日网站开发新闻头条最新消息今天发布
  • 婚礼网站怎么做环球军事网最新军事新闻最新消息
  • 厦门英文网站建设如何修改百度上面的门店号码
  • 网站内容建设要求 age06社交网络的推广方法
  • 做创新方法工作网站百度竞价排名官网
  • 述职报告ppt免费模板下载厦门seo优
  • wordpress如何制作网站seo销售是做什么的
  • 搭建免费网站北京搜索引擎优化
  • 网站需备案吗seo搜索引擎优化就业指导
  • 网站建设投入产出分析seo免费自学的网站
  • 如何做好市场营销seo管理与优化期末试题