二叉树的最小深度和二叉树的节点数

二叉数的最小深度:

思路:和最大深度一样需要用到回溯递归的方法

代码大致内容

判断函数是否为空,如果是空return 0;

定义一个变量接收递归函数返回的值(左)

定义一个变量接收递归函数返回的值(右)

判断如果函数左边为null但是右边不是null表示没用到最终位置所以返回一个rightdepth+1;

同理右边就返回左边加1

如果满的就返回两个之中的最小值

看代码:

class Solution {
public:
    int getDepth(TreeNode* node) {
        if (node == NULL) return 0;
        int leftDepth = getDepth(node->left);           // 左
        int rightDepth = getDepth(node->right);         // 右
                                                        // 中
        // 当一个左子树为空,右不为空,这时并不是最低点
        if (node->left == NULL && node->right != NULL) { 
            return 1 + rightDepth;
        }   
        // 当一个右子树为空,左不为空,这时并不是最低点
        if (node->left != NULL && node->right == NULL) { 
            return 1 + leftDepth;
        }
        int result = 1 + min(leftDepth, rightDepth);
        return result;
    }

    int minDepth(TreeNode* root) {
        return getDepth(root);
    }
};

 

下题为节点数量统计:

很简单

思路:首先定义一个变量count = 0;

代码内容:首先判读是否为空,空则返回count

count = 递归左边

count =递归右边

最后return count + 1;

代码意义:所有递归除了为空,都会使count + 1,而两个递归可以遍历所有的节点

这样就可以计算出来所有的节点数量

看代码:

class Solution {

public:

    int count = 0;

    int countNodes(TreeNode* root)

    {

       

        if(root == nullptr)return count;;

        count = countNodes(root -> left);

        count = countNodes(root -> right);

        return count + 1;

    }

};

最近更新

  1. TCP协议是安全的吗?

    2024-05-12 14:32:03       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-05-12 14:32:03       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-05-12 14:32:03       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-05-12 14:32:03       20 阅读

热门阅读

  1. Massive MIMO技术

    2024-05-12 14:32:03       8 阅读
  2. 【地道战游戏】

    2024-05-12 14:32:03       10 阅读
  3. HashMap 和 Hashtable区别的底层原理

    2024-05-12 14:32:03       16 阅读
  4. IDEA 插件,提高开发效率

    2024-05-12 14:32:03       6 阅读
  5. linux三剑客

    2024-05-12 14:32:03       8 阅读
  6. Qt窗口及QWidget类详解

    2024-05-12 14:32:03       8 阅读
  7. 蓝桥杯备战10.分巧克力

    2024-05-12 14:32:03       11 阅读
  8. 【C++语言】模板

    2024-05-12 14:32:03       9 阅读
  9. 爬虫工具you-get

    2024-05-12 14:32:03       10 阅读
  10. Leetcode 572:另一颗树的子树

    2024-05-12 14:32:03       7 阅读