首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在C++中寻找二叉树的最大高度路径

在C++中寻找二叉树的最大高度路径可以通过递归的方式实现。下面是一个示例代码:

代码语言:txt
复制
#include <iostream>
#include <algorithm>

struct TreeNode {
    int val;
    TreeNode* left;
    TreeNode* right;
    TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}
};

int findMaxHeight(TreeNode* root) {
    if (root == nullptr) {
        return 0;
    }
    
    int leftHeight = findMaxHeight(root->left);
    int rightHeight = findMaxHeight(root->right);
    
    return std::max(leftHeight, rightHeight) + 1;
}

int main() {
    // 构建二叉树
    TreeNode* root = new TreeNode(1);
    root->left = new TreeNode(2);
    root->right = new TreeNode(3);
    root->left->left = new TreeNode(4);
    root->left->right = new TreeNode(5);
    
    int maxHeight = findMaxHeight(root);
    std::cout << "The maximum height of the binary tree is: " << maxHeight << std::endl;
    
    // 释放内存
    delete root->left->left;
    delete root->left->right;
    delete root->left;
    delete root->right;
    delete root;
    
    return 0;
}

这段代码中,我们定义了一个TreeNode结构体表示二叉树的节点,其中包含一个整数值val,以及左右子节点的指针leftrightfindMaxHeight函数使用递归的方式计算二叉树的最大高度。如果当前节点为空,返回0;否则,分别计算左子树和右子树的最大高度,并取较大值加1作为当前节点的高度。最后,在main函数中构建一个二叉树,并调用findMaxHeight函数计算最大高度。

这个问题中没有明确要求推荐腾讯云相关产品,因此不提供相关链接。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

3分0秒

四轴飞行器在ROS、Gazebo和Simulink中的路径跟踪和障碍物规避

-

陆怡颖:从宕机鲸说起,谈谈设计如何化解科技无法解决的问题

54秒

PS小白教程:如何在Photoshop中制作出光晕效果?

1时19分

如何破解勒索攻击难题? ——80%的企业管理者认为对网络安全的最大威胁难题

3分54秒

PS使用教程:如何在Mac版Photoshop中制作烟花效果?

12分53秒

Spring-001-认识框架

11分16秒

Spring-002-官网浏览

5分22秒

Spring-003-框架内部模块

17分32秒

Spring-004-ioc概念

2分13秒

Spring-005-创建对象的方式

13分55秒

Spring-006-ioc的技术实现di

12分37秒

Spring-007-第一个例子创建对象

领券