Python 3.x 名称错误:名称'*';没有定义
为什么此行Python 3.x 名称错误:名称'*';没有定义,python-3.x,Python 3.x,为什么此行add(root,sum,0)getsNameError:没有定义名称“add”error class Solution: def rob(root: TreeNode) -> int: sum = [0, 0] add(root, sum, 0) if sum[0] < sum[1]: return sum[1] else: return sum[0]
add(root,sum,0)
getsNameError:没有定义名称“add”
error
class Solution:
def rob(root: TreeNode) -> int:
sum = [0, 0]
add(root, sum, 0)
if sum[0] < sum[1]:
return sum[1]
else:
return sum[0]
def add(node: TreeNode, sum: List[int], index: int):
if not node:
return
sum[index] += node.val
index += 1
if index >= len(sum):
index = 0;
add(node.left, sum, index)
add(node.right, sum, index)
类解决方案:
def rob(根目录:TreeNode)->int:
总和=[0,0]
加(根、和、0)
如果总和[0]<总和[1]:
返回金额[1]
其他:
返回和[0]
def add(节点:树节点,总和:列表[int],索引:int):
如果不是节点:
返回
sum[index]+=node.val
指数+=1
如果索引>=len(总和):
指数=0;
添加(node.left、sum、index)
添加(node.right、sum、index)
它们是类函数,使用self
定义如下:
def-add(self,node:TreeNode,sum:List[int],index:int):
并使用它
self.add(node.left,sum,index)
试试这个
class Solution:
def rob(self, root: TreeNode) -> int:
sum = [0, 0]
self.add(root, sum, 0)
if sum[0] < sum[1]:
return sum[1]
else:
return sum[0]
def add(self, node: TreeNode, sum: List[int], index: int):
if not node:
return
sum[index] += node.val
index += 1
if index >= len(sum):
index = 0;
self.add(node.left, sum, index)
self.add(node.right, sum, index)
类解决方案:
def rob(self,root:TreeNode)->int:
总和=[0,0]
self.add(根、和、0)
如果总和[0]<总和[1]:
返回金额[1]
其他:
返回和[0]
def add(self,node:TreeNode,sum:List[int],index:int):
如果不是节点:
返回
sum[index]+=node.val
指数+=1
如果索引>=len(总和):
指数=0;
self.add(node.left、sum、index)
self.add(node.right、sum、index)