前端算法小白攻略36-leetcode(完全二叉树的节点个数)

151 阅读1分钟

前言

前面我们做了通过前序和中序遍历构建二叉树,这道题我们来计算一下二叉树的节点个数,直接搞个递归就完事了。

题目描述

222. 完全二叉树的节点个数

给你一棵 完全二叉树 的根节点 root ,求出该树的节点个数。

完全二叉树 的定义如下:在完全二叉树中,除了最底层节点可能没填满外,其余每层节点数都达到最大值,并且最下面一层的节点都集中在该层最左边的若干位置。若最底层为第 h 层,则该层包含 1~ 2h 个节点。

来源:力扣(LeetCode) 链接:leetcode-cn.com/problems/co… 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

解题思路

直接根据二叉树的根节点一层一层往下递归遍历根左右节点计数即可,我这里采用前序遍历方式

开始解题

var countNodes = function(root) {
    if(!root) return 0;
    return 1 + countNodes(root.left) + countNodes(root.right);
};