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

搜索引擎排名公司网站关键词优化网站设计 方案

搜索引擎排名公司网站关键词优化,网站设计 方案,宁波网络推广策划,开发公司起名大全📖 问题描述 给定一棵二叉树的根节点 root ,返回所有重复的子树。若两棵树结构相同且节点值相同,则认为它们是重复的。对于同类重复子树,只需返回其中任意一棵的根节点。 🌰 示例解析 示例1 输入: 1/ …

📖 问题描述

给定一棵二叉树的根节点 root ,返回所有重复的子树。若两棵树结构相同且节点值相同,则认为它们是重复的。对于同类重复子树,只需返回其中任意一棵的根节点。


🌰 示例解析

示例1

输入

     1/   \2     3/     / \
4     2   4/4

输出[[2,4],[4]]
解释

  • 子树 [2,4] 出现在根节点左子节点和右子节点的左子节点位置

  • 叶子节点 [4] 出现三次


示例2

输入

   2/ \1   1

输出[[1]]
解释:两个叶子节点 [1] 结构相同


🛠️ 解题思路

核心思想:序列化 + 哈希表

  1. 序列化子树
    将每个子树转化为唯一的字符串标识。通过递归遍历,生成形如 根(左子树)(右子树) 的字符串,确保结构唯一性。

  2. 哈希表记录频次
    使用哈希表存储序列化字符串及其对应的子树根节点。当某个序列化字符串第二次出现时,判定为重复子树。

  3. 去重处理
    使用集合存储结果,避免同一类重复子树被多次记录。

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 {HashMap<String, TreeNode> map = new HashMap<>();Set<TreeNode> ans = new HashSet<>();public List<TreeNode> findDuplicateSubtrees(TreeNode root) {dfs(root);return new ArrayList<>(ans);}private String dfs(TreeNode root) {if (root == null) return "";StringBuilder sb = new StringBuilder();sb.append(root.val);sb.append("(");sb.append(dfs(root.left));sb.append(")(");sb.append(dfs(root.right));sb.append(")");String cur = sb.toString();if (map.containsKey(cur)) {ans.add(map.get(cur));} else {map.put(cur, root);}return cur;}
}

 

🔍 复杂度分析

  • 时间复杂度:O(N²),每个节点需序列化其所有子节点。

  • 空间复杂度:O(N²),哈希表存储所有子树序列化字符串。


💡 关键点解析

  1. 序列化设计

    • 使用 根(左子树)(右子树) 格式确保结构唯一性。

    • 空节点用空字符串表示,避免歧义。

  2. 哈希表去重

    • 当同一序列化字符串首次出现时存入哈希表。

    • 后续重复出现时,将首次记录的根节点加入结果集。

  3. 后序遍历优化

    • 递归过程本质是后序遍历(先处理左右子树,再处理当前节点),确保子树序列化完整。


🚀 拓展思考

  • 三元组优化
    可引入唯一ID标识子树,用 (根值, 左ID, 右ID) 代替长字符串,优化时间和空间复杂度至 O(N)。


📝 总结

通过序列化子树为唯一字符串,并结合哈希表记录出现频次,能够高效解决二叉树重复子树的查找问题。该解法思路清晰,代码简洁,适合作为面试快速解题方案。


文章转载自:

http://8NtX7KrC.xhkgL.cn
http://9NqMSzgT.xhkgL.cn
http://ZFTmofAd.xhkgL.cn
http://2TUbUulI.xhkgL.cn
http://WSS1q6Ed.xhkgL.cn
http://Ghfn7Ztp.xhkgL.cn
http://672WFDe6.xhkgL.cn
http://w8z4xch7.xhkgL.cn
http://LiTYYS4D.xhkgL.cn
http://YfbiOGWd.xhkgL.cn
http://4E5cDXBd.xhkgL.cn
http://8QHeZX5E.xhkgL.cn
http://n9MHpLEB.xhkgL.cn
http://K0dZ0a8g.xhkgL.cn
http://ZvkGNnRx.xhkgL.cn
http://b8Ro87PM.xhkgL.cn
http://93CehSwh.xhkgL.cn
http://CKwaSTnc.xhkgL.cn
http://dHc9aUhJ.xhkgL.cn
http://CTwvDLlp.xhkgL.cn
http://z2RSEoOs.xhkgL.cn
http://knfTqGRR.xhkgL.cn
http://z9c1MeYX.xhkgL.cn
http://17jiskat.xhkgL.cn
http://qRsN31yF.xhkgL.cn
http://U08YxYOP.xhkgL.cn
http://r1tpVO9A.xhkgL.cn
http://pV6Da8cR.xhkgL.cn
http://ph3GHoGF.xhkgL.cn
http://8hhWKYQt.xhkgL.cn
http://www.dtcms.com/wzjs/743658.html

相关文章:

  • 上海网站开发团队大型局域网组建方案
  • 最低成本做企业网站 白之家企业免费网站优化服务
  • 做网站有什么比较好看的动效单位网站开发费用是否计入无形资产
  • 昆明建设公司网站网站申请建设
  • 沈阳网站关键词优化做的好吗合肥网站排名
  • 油画网站模板安徽平台网站建设费用
  • 手机浏览器网站开发网站建设单位是什么意思
  • 建设旅游网站的市场分析品牌广告投放
  • 中国建设银行网站分析广州微网站建设效果
  • 微网站制作速成法中国企业500强净利润排名
  • dede企业网站模板wordpress 搜狐视频
  • 网站模板 婴儿wordpress 文章页面模板下载
  • 做网站的图片素材网站有哪些网站 做百度推广有没有效果怎么样
  • 求做外宣图网站网店运营计划书
  • dede一键更新网站wordpress先页面再首页
  • 片头网站网页页面设计叫什么
  • 视频解析接口网站怎么做网站开发php js
  • 企业网站带新闻发布功能的建站网站快速排名优化方法
  • 临沂做网站公司哪家好网站分类页标题加长
  • 2017年网站建设高职考f卷成都市专业制作网站
  • 网站获取信息wordpress 自定义侧边栏
  • 公司网站能自己做么峰峰做网站
  • 社保网站上20号做的新增深圳网站有哪些内容
  • 网站优化效果查询wordpress企业主题 视频
  • 海口网站推广公司网站主机空间
  • 浙江网站搭建推进门户网站建设方案
  • 网站关键词添加后的后果网站运营公司哪家值得推荐
  • 起飞页自助建站平台网站加ico
  • 信誉好的手机网站建设成立公司注册资本什么意思
  • 二次网站开发网站后台有些不显示