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

腾讯快速建站平台wordpress内容管理

腾讯快速建站平台,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/593121.html

相关文章:

  • 上海做兼职哪个网站要怎么做网络营销
  • 做骑兵电影网站赚钱彩票源码论坛
  • 百度做的网站一般在什么后台网站切片 做程序
  • 惠州网站建设是什么制作网页多少钱
  • 农家乐网站模板关键词优化是怎样收费的
  • 网站建设所需费用郑州建站软件
  • 西安制作网站的电话网页设计ui设计培训
  • 500网站建设室内设计师常用网站
  • 无锡网站开发定制开发网站建设的7种流程
  • sns社交网站有哪些html代码app
  • 深圳网站建设推选上榜网络网站建设验收方式
  • 怎么关注网站 在手机上protected wordpress login
  • 邗江区建设局网站广州建设网站是什么样的
  • 网站建设流程方案教育网站制作定制
  • 网站不兼容怎么办wordpress主题的网站
  • 用织梦做的网站是模板的吗sem搜索引擎营销是什么
  • 购买手表的网站游戏程序开发
  • 大团网站建设网站内容建设的布局和结构
  • 网站备案号的链接房地产开发资质
  • 沈阳网站优化asp网站抓取
  • 软件推广网站建设商务网站过程
  • 免费可以绑定域名网站空间深色系网站
  • 手机网站免费wordpress move插件
  • vps建两个网站要两个程序池吗亚马逊备案网站建设
  • 微信app下载找回微信搜索引擎优化培训班
  • 建设主流媒体网站站长之家源码下载
  • 做网站运营工资是不是很低电商网站首页设计
  • 深圳罗湖网站制作廊坊关键词快速排名
  • 济南网站制作 泉诺天津网站建设有哪些
  • vs215开发python网站开发国外服务器租用价格