我正在尝试在 python 中解决 Leetcode 104:https ://leetcode.com/problems/maximum-depth-of-binary-tree/
代码注释建议输入类型为 TreeNode。测试用例:root = [3,9,20,null,null,15,7]
我对输入的类型感到困惑。
输入类型是列表还是“TreeNode”?TreeNode 甚至是一种类型吗?它与列表有何不同?
我如何获得 len(root)?因为那里有空值,所以我无法使用 len(root)。当然,我可以将 null 转换为字符串“null”,但这感觉很糟糕。
(我想用几何级数来解决这个问题。这就是为什么我需要长度)
这是我写的代码。使用几何级数。S = (a1*(q**n) - a1)/(q-1) when q != 1. 结果是使用我的hacky方式将null变成字符串“null”并将root视为一个列表类型。
## a_1 = 1,
## q = 2,
## s = len(root) = (a1*q - a1)/(q-1) = (1*(2**n) - 1)/(2-1)
## --> len(root) = (2**n)-1 --> solve n
import numpy as np
def f(root):
s = len(root)
n = (np.log(s+1))/(np.log(2))
return n
print f([3,9,20,"null","null",15,7])
至尊宝的传说
浮云间
相关分类