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

代码随想录day14

226.翻转二叉树

    void reverseTree(TreeNode* node){
        if(node == nullptr) return;
        if(node->left) reverseTree(node->left);
        if(node->right) reverseTree(node->right);
        TreeNode* tmp = node->left;
        node->left = node->right;
        node->right = tmp;
        
    }
    TreeNode* invertTree(TreeNode* root) {
        reverseTree(root);
        return root;
    }

101.对称二叉树

    bool compare(TreeNode* left, TreeNode* right){
        if(!left && !right){
            return true;
        }else if(!left && right){
            return false;
        }else if(left && !right){
            return false;
        }else if(left->val != right->val){
            return false;
        }
        bool com1 = compare(left->left, right->right);
        bool com2 = compare(left->right, right->left);
        bool result = com1 && com2;
        return result;
    }
    bool isSymmetric(TreeNode* root) {
        if(root == nullptr) return true;
        return compare(root->left, root->right);
    }

559.N叉树的最大深度

    int getDepth(Node* node){
        if(node == nullptr) return 0;
        int max = 0;
        for(std::vector<Node*>::iterator it = node->children.begin(); it != node->children.end(); ++it){
            int depth = getDepth(*it);
            if(depth > max){
                max = depth;
            }
        }
        int depth = 1 + max;
        return depth;
    }
    int maxDepth(Node* root) {
        return getDepth(root);
    }

111.二叉树的最小深度

    int digui(TreeNode* node){
        if(node == nullptr) return 0;
        int left = digui(node->left);
        int right = digui(node->right);
        if(!left){
            return 1 + right;
        }
        if(!right){
            return 1 + left;
        }
        int depth = 1 + min(left, right);
        return depth;
    }
    int minDepth(TreeNode* root) {
        return digui(root);
    }

相关文章:

  • SolidWorks速成教程P4-4【装配体 | 第四节】——装配体内修改模型编辑配合方法配合报错的解决方法
  • 在华为云部署应用,通过阿里云代理调用第三方接口的利弊与解决方案
  • module ‘cv2.dnn‘ has no attribute ‘DictValue‘解决办法
  • 电力交易员需要哪些证书
  • 安装MinkowskiEngine记录
  • 解决DeepSeek服务器繁忙的有效方法
  • mapbox基础,使用geojson加载circle圆点图层
  • 燧光 XimmerseMR SDK接入Unity
  • nginx 搭建
  • vue中为组建添加样式的方式
  • AI 百炼成神:逻辑回归, 垃圾邮件分类
  • 深入浅出gRPC:原理、HTTP/2协议与四种通信模式详解
  • 【复现DeepSeek-R1之Open R1实战】系列6:GRPO源码逐行深度解析(上)
  • 单证处理新突破:外贸软件助力释放人力价值
  • 【嵌入式Linux应用开发基础】vfork()函数
  • Java+SpringBoot+数据可视化的家庭记账小程序(程序+论文+安装+调试+售后等)
  • Socket通讯协议理解及客户端服务器程序流程
  • 【进阶】Java设计模式详解
  • 13-二叉树最小深度-深度优先(DFS)
  • 机器视觉--索贝尔滤波
  • 墨西哥宣布就“墨西哥湾”更名一事起诉谷歌
  • 中日有关部门就日本水产品输华问题进行第三次谈判,外交部回应
  • 洞天寻隐·学林纪丨玉洞桃源:仇英青绿山水画中的洞天与身体
  • 第1现场 | 印巴冲突:印50多年来首次举行大规模民防演习
  • 2025上海科技节将于5月17日开幕,拟设6大板块专题活动
  • 上任后首访,德国总理与法国总统举行会晤