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

二叉树part01(二)

今天都是二叉树的基础题

1. 翻转二叉树

    void dfs(TreeNode* root) {if (root==NULL) return;swap(root->left, root->right);dfs(root->left);dfs(root->right);
}TreeNode* invertTree(TreeNode* root) {if (root == NULL) return root;// 交换左右孩子即可dfs(root);return root;      }

2.  对称二叉树

class Solution {
public:bool sym(TreeNode* left, TreeNode* right){   if (left == NULL && right == NULL) return true; // 左右都为空对称// 左右缺一不对称else if (left == NULL && right != NULL) return false; else if (left != NULL && right == NULL) return false;// 左右不缺值不等不对称else if (left->val != right->val) return false;// 因为是轴对称,左对右,右对左bool left_ = sym(left->left, right->right);bool right_ = sym(left->right, right->left);return left_&&right_;}bool isSymmetric(TreeNode* root) {if (root == NULL) return true;return sym(root->left, root->right);}
};

3. 二叉树的最大深度

前序遍历求深度(自上而下深度递增),如果是根节点的高度(自上而下高度递减),所以本题用前序遍历很方便

    int res = 0;void dfs(TreeNode* root, int depth) {res = max(depth,res);if(root->left) dfs(root->left, depth+1);if(root->right) dfs(root->right, depth+1);return;}int maxDepth(TreeNode* root) {if (root == NULL) return res;dfs(root, 1);return res;}

3. 二叉树的最小深度

主要要确保找到的最小深度是叶子节点的最小深度

    int ord(TreeNode* root) {if (root == NULL) return 0;int l = ord(root->left);int r = ord(root->right);// 确保找到的是叶子节点if (l == 0 && r != 0) return 1 + r;if (r == 0 && l != 0) return 1 + l;return 1 + min(l, r);}int minDepth(TreeNode* root) {return ord(root);}

相关文章:

  • DNS解析流程入门篇
  • java基础(面向对象进阶高级)泛型(API一)
  • 编程日志5.20
  • 深入剖析Java中的伪共享:原理、检测与解决方案
  • uniapp 搭配uviwe u-picker 实现地区联栋
  • OSPF补充信息
  • MathQ-Verify:数学问题验证的五步流水线,为大模型推理筑牢数据基石
  • Neural Blind Deconvolution Using Deep Priors论文阅读
  • Leetcode 3556. Sum of Largest Prime Substrings
  • 《1.1_4计算机网络的分类|精讲篇|附X-mind思维导图》
  • 如何设计ES的冷热数据分离架构?Elasticsearch 集群如何实现高可用?如何避免脑裂问题?如果出现脑裂如何恢复?
  • API Gateway CLI 实操入门笔记(基于 LocalStack)
  • 基于 docker 部署 k8s 集群
  • 集星云推短视频矩阵系统的定制化与私有化部署方案
  • redis在Spring中的一些使用
  • 机器学习中的线性回归:从理论到实践的深度解析
  • 企业数据安全全生命周期守护方案:从组织到技术的三维实践
  • PyTorch实战——生成对抗网络数值数据生成
  • (自用)Java学习-5.14(注册,盐值加密,模糊查询)
  • 树莓派超全系列教程文档--(48)树莓派内核头文件
  • dede怎么做视频网站/营销手段有哪些
  • 哪个网站建设商招代理/哪家网络推广好
  • 广州微型网站建设/百度问答平台
  • 网站 做内容分发资格/西安seo关键词查询
  • 建设网站建设多少钱/一站式媒体发布平台
  • 网站建设及推广人员/当日alexa排名查询统计