面试150 完全二叉树的节点数
思路
使用中序遍历,递归计算左子树和右子树节点的值,最后相加返回即可。
# 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:def count(node):if node==None:return 0left_count=count(node.left)right_count=count(node.right)return 1+left_count+right_countreturn count(root)