题目:
- 给你一棵 完全二叉树 的根节点
root
,求出该树的节点个数。
示例:
- 输入: r o o t = [ 1 , 2 , 3 , 4 , 5 , 6 ] root = [1,2,3,4,5,6] root=[1,2,3,4,5,6]
- 输出: 6 6 6
解题思路一:(递归)
- 确定递归函数的参数和返回值:
int dfs(TreeNode* cur)
- 确定终止条件:
if(cur == NULL) return 0;
- 确定单层递归逻辑:
return dfs(cur->left) + dfs(cur->right) + 1;
C++版整体代码
class Solution {
public:
int dfs(TreeNode* cur){
if(cur == NULL) return 0;
return dfs(cur->left) + dfs(cur->right) + 1;
}
int countNodes(TreeNode* root) {
return dfs(root);
}
};