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