222. 完全二叉树的节点个数
题解:
使用递归的方法来解决这个问题。完全二叉树的节点个数可以通过以下公式计算:
节点个数 = 左子树节点个数 + 右子树节点个数 + 1(根节点)
首先,我们需要定义一个辅助函数countNodes(root)
来计算以root
为根节点的子树的节点个数。然后,我们可以使用递归的方法来计算完全二叉树的节点个数。
# Definition for a binary tree node.
# class TreeNode:
# def __init__(self, val=0, left=None, right=None):
# self.val = val
# self.left = left
# self.right = right
class Solution:def countNodes(self, root: Optional[TreeNode]) -> int:if not root:return 0left_count = self.countNodes(root.left)right_count = self.countNodes(root.right)return left_count + right_count + 1