# todo

# 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 maxDepth(self, root: TreeNode) -> int:

        # if not root:
        #     return 0

        # # bfs
        # queue = []
        # maxDepths = [1]
        # queue.append(root)

        # while queue:
        #     node = queue.pop(0)
        #     maxDepths.append(maxDepths[-1] + 1)

        #     if root.left:
        #         queue.append(root.left)
        #     if root.right:
        #         queue.append(root.right)

        # return max(maxDepths)
