【发布时间】:2020-03-17 21:12:01
【问题描述】:
我是学习 Python 的新手,正在编写一个函数,该函数返回一个二叉树中节点的孙子(如果它们存在)的总和,并且只设法想出了这段草率的代码。
如果有人对以更 Python 的方式改进我当前函数的简洁性有任何提示,将不胜感激。
def value_of_grandchildren(self, root):
sum = 0
if root.left and root.left.left:
sum += root.left.left.val
if root.left and root.left.right:
sum += root.left.right.val
if root.right and root.right.left:
sum += root.right.left.val
if root.right and root.right.right:
sum += root.right.right.val
return sum
【问题讨论】:
-
使其成为递归函数
-
您真的只是想要孙辈的总和,还是想要所有后代的总和并且目前只有孙辈的深度?
-
在 Stack Overflow 和在线其他地方有很多例子展示了如何递归地访问树,对于给定数量的级别等。请在此处发布之前将其中一个或多个添加到您的代码中 - - 正如指南中所说。如果您仍有问题,请提供minimal, reproducible example。
标签: python python-3.x coding-style