首页
学习
活动
专区
工具
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函数计算最大高度。

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

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

相关·内容

领券