给你一棵二叉树的根节点 root ,请你返回 层数最深的叶子节点的和
解题思路:
广度遍历,每次访问一层前先将计数器记0,然后累加当前层,程序执行到叶子节点层退出的计数器的值就是最深处叶子节点的和
# 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 deepestLeavesSum(self, root: Optional[TreeNode]) -> int:
dequeue = deque([root])
while dequeue:
cnt = 0
for _ in range(len(dequeue)):
node = dequeue.popleft()
cnt += node.val
if node.left:
dequeue.append(node.left)
if node.right:
dequeue.append(node.right)
return cnt