📅  最后修改于: 2023-12-03 14:55:35.841000             🧑  作者: Mango
在完美二叉树中,所有非叶子节点都有两个子节点,并且所有叶子节点都在同一层级上。假设我们有一个完美二叉树,如下图所示:
1
/ \
2 3
/ \ / \
4 5 6 7
节点1是根节点,它有两个子节点2和3。子节点2和3也各自有两个子节点。节点4、5、6和7是叶子节点。
我们的任务是查找这个完美二叉树的所有节点的总和。这个问题可以通过深度优先搜索(DFS)来解决。
下面是用Python编写的查找给定完美二叉树的所有节点的总和的代码:
class TreeNode:
def __init__(self, val=0, left=None, right=None):
self.val = val
self.left = left
self.right = right
def sumTreeNode(root: TreeNode) -> int:
if not root:
return 0
return root.val + sumTreeNode(root.left) + sumTreeNode(root.right)