牛商网做的网站怎么样河北省住房城乡建设局网站首页

张小明 2025/12/30 8:24:39
牛商网做的网站怎么样,河北省住房城乡建设局网站首页,做网站运营还是翻译,wordpress精华主题目录 一、100. 相同的树 问题描述 核心思想#xff1a;递归分治 实现方法 重点 难点 二、101. 对称二叉树#xff1a;“镜像问题” 问题描述 核心思想 实现方法 方法 1#xff1a;递归#xff08;辅助函数比较两棵子树#xff09; 方法 2#xff1a;迭代…目录一、100. 相同的树问题描述核心思想递归分治实现方法重点 难点二、101. 对称二叉树“镜像问题”问题描述核心思想实现方法方法 1递归辅助函数比较两棵子树方法 2迭代队列成对存储镜像节点重点 难点三、110. 平衡二叉树后序遍历的 “剪枝”问题描述核心思想实现方法优化版后序遍历 剪枝重点 难点四、199. 二叉树的右视图遍历顺序的 “状态控制”问题描述核心思想层序遍历 / 优先右子树的 DFS实现方法方法 1层序遍历直观易理解方法 2DFS优先右子树重点 难点总结二叉树问题的通用解题逻辑1. 递归分治拆解子问题2. 遍历控制记录状态模板使用总结本文会拆解 LeetCode 中 4 道二叉树高频题 ——100. 相同的树、101. 对称二叉树、110. 平衡二叉树、199. 二叉树的右视图从核心思想、实现方法到重点难点做深入分析。一、100. 相同的树问题描述给定两棵二叉树的根节点p和q判断二者是否结构相同且对应节点值相等。核心思想递归分治树的递归结构决定了 “整棵树相同” 可以拆解为 3 个子问题当前节点的值相等p的左子树与q的左子树相同p的右子树与q的右子树相同。实现方法递归的关键是处理边界条件空节点是二叉树递归的 “必考题”碰到递归问题先从边界条件出发慢慢推导class Solution { public boolean isSameTree(TreeNode p, TreeNode q) { // 边界1两棵树都空相同 if (p null q null) return true; // 边界2其中一棵空、另一棵非空不同 if (p null || q null) return false; // 子问题值相等 左子树相同 右子树相同 return p.val q.val isSameTree(p.left, q.left) isSameTree(p.right, q.right); } }重点 难点重点递归的 “分治拆解”—— 把整树问题拆成 “当前节点 左右子树” 的子问题难点容易忽略 “一个空、一个非空” 的边界条件导致空指针异常或逻辑错误。二、101. 对称二叉树“镜像问题”问题描述给定一棵二叉树的根节点root判断其是否是镜像对称的即左右子树呈镜像结构。核心思想转化为 “两棵树的镜像比较”“一棵树对称” 等价于 “它的左子树和右子树互为镜像”而 “两棵树镜像” 的子问题是树 A 的根节点值 树 B 的根节点值树 A 的左子树 与 树 B 的右子树 镜像树 A 的右子树 与 树 B 的左子树 镜像。实现方法方法 1递归辅助函数比较两棵子树class Solution { public boolean isSymmetric(TreeNode root) { // 空树是对称的否则比较左、右子树是否镜像 return root null ? true : isMirror(root.left, root.right); } // 辅助函数判断两棵树是否镜像 private boolean isMirror(TreeNode a, TreeNode b) { if (a null b null) return true; if (a null || b null) return false; // 子问题值相等 左对右、右对左 return a.val b.val isMirror(a.left, b.right) isMirror(a.right, b.left); } }方法 2迭代队列成对存储镜像节点用队列将 “需要比较的镜像节点” 成对入队每次取出一对节点校验public boolean isSymmetric(TreeNode root) { if (root null) return true; QueueTreeNode queue new LinkedList(); queue.offer(root.left); queue.offer(root.right); while (!queue.isEmpty()) { TreeNode a queue.poll(); TreeNode b queue.poll(); // 处理空节点的情况 if (a null b null) continue; if (a null || b null) return false; if (a.val ! b.val) return false; // 成对入队镜像节点a左对b右a右对b左 queue.offer(a.left); queue.offer(b.right); queue.offer(a.right); queue.offer(b.left); } return true; }重点 难点重点问题转化 —— 将 “一棵树的对称” 转化为 “两棵子树的镜像比较”是递归的关键难点镜像节点的对应关系左对右、右对左容易搞反导致逻辑错误。三、110. 平衡二叉树后序遍历的 “剪枝”问题描述判断一棵二叉树是否是平衡二叉树AVL 树每个节点的左右子树高度差的绝对值不超过 1。核心思想后序遍历 剪枝平衡二叉树需要先获取子树高度再判断当前节点的平衡度—— 后序遍历左→右→根恰好符合 “先处理子树、再处理根” 的需求。同时为了避免重复计算子树高度基础版会重复计算我们可以在计算高度的同时集成平衡判断若某子树不平衡直接返回标记值如-1提前终止递归剪枝。实现方法优化版后序遍历 剪枝class Solution { public boolean isBalanced(TreeNode root) { // 若返回-1则不平衡否则平衡 return getHeightAndCheck(root) ! -1; } // 辅助函数计算高度 检查平衡不平衡返回-1 private int getHeightAndCheck(TreeNode node) { if (node null) return 0; // 空节点高度为0 // 先检查左子树 int leftHeight getHeightAndCheck(node.left); if (leftHeight -1) return -1; // 再检查右子树 int rightHeight getHeightAndCheck(node.right); if (rightHeight -1) return -1; // 检查当前节点的平衡因子 if (Math.abs(leftHeight - rightHeight) 1) return -1; // 平衡则返回当前节点高度 return Math.max(leftHeight, rightHeight) 1; } }重点 难点重点后序遍历的应用场景需要子树信息的问题、剪枝技巧避免无效计算难点将 “高度计算” 与 “平衡判断” 合并需要清晰的递归返回值逻辑高度 / 不平衡标记。四、199. 二叉树的右视图遍历顺序的 “状态控制”问题描述从二叉树的右侧观察返回从顶部到底部能看到的节点值即每一层的最后一个节点。核心思想层序遍历 / 优先右子树的 DFS层序遍历BFS记录每一层的节点数遍历完一层后取最后一个节点深度优先遍历DFS优先访问右子树记录当前深度当深度等于结果列表长度时说明是该层的 “第一个可见节点”因先右所以是最右侧。实现方法方法 1层序遍历直观易理解class Solution { public ListInteger rightSideView(TreeNode root) { ListInteger result new ArrayList(); if (root null) return result; QueueTreeNode queue new LinkedList(); queue.offer(root); while (!queue.isEmpty()) { int levelSize queue.size(); // 当前层的节点数 for (int i 0; i levelSize; i) { TreeNode node queue.poll(); // 若为当前层最后一个节点加入结果 if (i levelSize - 1) { result.add(node.val); } // 左、右子节点入队保证下一层的顺序 if (node.left ! null) queue.offer(node.left); if (node.right ! null) queue.offer(node.right); } } return result; } }方法 2DFS优先右子树class Solution { public ListInteger rightSideView(TreeNode root) { ListInteger result new ArrayList(); dfs(root, 0, result); return result; } private void dfs(TreeNode node, int depth, ListInteger result) { if (node null) return; // 深度 结果长度 → 该层第一个节点先右故为最右侧 if (depth result.size()) { result.add(node.val); } // 优先访问右子树深度1 dfs(node.right, depth 1, result); dfs(node.left, depth 1, result); } }重点 难点重点通过 “层大小”BFS或 “深度”DFS控制 “每一层的可见节点”难点DFS 中 “深度与结果列表长度的对应关系”—— 需要理解 “先右子树” 带来的层节点顺序。总结二叉树问题的通用解题逻辑这 4 道题覆盖了二叉树的核心解题思路总结为 2 个关键词1. 递归分治拆解子问题二叉树的递归问题核心是找到 “整树→子树” 的拆解逻辑同时必须处理空节点的边界条件相同的树整树相同 → 节点值 左子树 右子树相同对称二叉树整树对称 → 左子树与右子树镜像。2. 遍历控制记录状态需要按顺序访问节点或记录层 / 深度信息时用遍历BFS/DFS 状态变量层大小、深度平衡二叉树后序遍历先子树后根 高度状态右视图层序遍历层大小/ DFS深度 可见节点状态。模板使用总结模板类型核心适用场景关键技巧递归分治整树→子树拆解、需子树信息优先处理空节点、剪枝提前终止BFS 层序按层处理、找层内特征记录每层节点数、控制层边界DFS 遍历路径记录、深度相关、遍历顺序状态变量传递深度 / 路径、调整遍历顺序快速选型技巧看到 “平衡、相同、对称、最大深度”→ 用递归分治模板看到 “按层、右视图、左下角、层最大值”→ 用BFS 模板看到 “前 / 中 / 后序遍历、路径、深度优先”→ 用DFS 模板。
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

做那个的网页商丘seo公司甄选24火星

LMDeploy推理配置问题深度解析:Qwen3模型推理模式关闭方法与常见错误解决 【免费下载链接】Qwen3-32B-MLX-6bit 项目地址: https://ai.gitcode.com/hf_mirrors/Qwen/Qwen3-32B-MLX-6bit 在大模型部署实践中,开发者常常需要根据具体场景调整推理参…

张小明 2025/12/27 18:49:08 网站建设

tk网站域名注册广东网站建设怎么选

Linly-Talker:用AI数字人打破沟通壁垒,为残障人士赋予表达新可能 在一场远程康复咨询中,一位因脑瘫导致言语不清的患者正通过平板电脑与医生交流。他轻声说出几个模糊音节,系统迅速将其转化为清晰语音,并驱动一个以他自…

张小明 2025/12/27 18:48:36 网站建设

施工企业损益类科目网络优化怎么自己做网站

Dress Code数据集终极指南:掌握高分辨率虚拟试衣核心技术 【免费下载链接】dress-code 项目地址: https://gitcode.com/gh_mirrors/dre/dress-code Dress Code高分辨率虚拟试衣数据集正在重新定义时尚AI研究的边界,为计算机视觉领域提供了前所未…

张小明 2025/12/27 18:48:05 网站建设

网站做短信验证需要多少钱哪个建站平台较好

你是否在为管理多个媒体服务器而烦恼?想要一个统一的仪表板来监控Plex、Jellyfin、Emby等服务的运行状态?Homepage作为高度可定制的应用仪表板,能够完美解决这些问题。通过简单的配置,你就能快速搭建一个专业的媒体中心监控界面&a…

张小明 2025/12/27 18:47:33 网站建设

视觉网络网站门户网站设计说明

在数字化转型的大潮中,许多企业都意识到网络资源建设的重要性。毕竟,一个高效稳定的网络环境是支撑业务顺畅运行的基础。然而,在实际操作过程中,不少公司却遇到了种种难题:要么是网络架构设计不合理导致频繁故障;要么是…

张小明 2025/12/27 18:47:01 网站建设

网站推广位怎么设置手机免费代理ip

百度网盘密码一键解锁:终极免费工具完整使用指南 【免费下载链接】baidupankey 项目地址: https://gitcode.com/gh_mirrors/ba/baidupankey 还在为百度网盘分享密码而烦恼吗?面对加密的分享链接和隐藏的访问密码,传统的手动搜索方式既…

张小明 2025/12/27 18:46:29 网站建设