求二叉树的高度(C++递归实现)

简介: 求二叉树的高度(C++递归实现)

1、实现思路:

定义两个变量,left和right

分别存储当点节点的左右子树的高度,最后返回根节点的左右最大值

递归去遍历每个节点,如果一个节点存在左子树,就将它的left+1,如果存在右子树,就将其right+1,直到全部节点遍历完,最后得到根节点的left和right

代码:

/**
 *作者:魏宝航
 *2020年11月27日,下午15:13
 */
int treeDepth(Node* root) {
    int left = 0, right = 0;
    if (root == NULL) {
        return 0;
    }
    else {
        left = treeDepth(root->left) + 1;
        right = treeDepth(root->right) + 1;
        return max(left, right);
    }
}


目录
相关文章
|
1月前
|
算法 C++
算法笔记:递归(c++实现)
算法笔记:递归(c++实现)
|
4天前
|
存储 C++
【C++】二叉树进阶之二叉搜索树(下)
【C++】二叉树进阶之二叉搜索树(下)
10 4
|
4天前
|
Java 编译器 C++
【C++】二叉树进阶之二叉搜索树(上)
【C++】二叉树进阶之二叉搜索树(上)
13 3
|
10天前
|
算法 C++
【C++高阶】高效搜索的秘密:深入解析搜索二叉树
【C++高阶】高效搜索的秘密:深入解析搜索二叉树
19 2
|
2月前
|
存储 C++
【C++】二叉树进阶 -- 详解
【C++】二叉树进阶 -- 详解
|
2月前
|
存储 C++
【C++练级之路】【Lv.14】二叉搜索树(进化的二叉树——BST)
【C++练级之路】【Lv.14】二叉搜索树(进化的二叉树——BST)
【C++练级之路】【Lv.14】二叉搜索树(进化的二叉树——BST)
|
2月前
|
C++
C++ 递归与面向对象编程基础
C++ 递归是函数自我调用的技术,用于简化复杂问题。以递归求和为例,`sum` 函数通过不断调用自身累加数字直到 `k` 为 0。递归需谨慎,避免无限循环和资源浪费。面向对象编程(OOP)将程序划分为交互对象,具有属性和方法,提升代码复用、维护和扩展性。C++ OOP 基本概念包括类、对象、属性和方法。通过创建类和对象,利用点语法访问成员,实现代码组织。
33 0
|
2月前
|
存储 C++
二叉树的操作(C++实现)
二叉树的操作(C++实现)
|
3天前
|
设计模式 安全 编译器
【C++11】特殊类设计
【C++11】特殊类设计
22 10
|
9天前
|
C++
C++友元函数和友元类的使用
C++中的友元(friend)是一种机制,允许类或函数访问其他类的私有成员,以实现数据共享或特殊功能。友元分为两类:类友元和函数友元。类友元允许一个类访问另一个类的私有数据,而函数友元是非成员函数,可以直接访问类的私有成员。虽然提供了便利,但友元破坏了封装性,应谨慎使用。
40 9