Python:AttributeError:'NoneType'对象没有属性'val'行:14
我正试图穿过一棵树,但还是克服了错误。请帮帮我。我试图调用同一类的定义,并作为参数发送一个类对象。但调用定义无法识别参数的类型Python:AttributeError:'NoneType'对象没有属性'val'行:14,python,data-structures,tree,Python,Data Structures,Tree,我正试图穿过一棵树,但还是克服了错误。请帮帮我。我试图调用同一类的定义,并作为参数发送一个类对象。但调用定义无法识别参数的类型 Definition for a binary tree node. class TreeNode(object): def __init__(self, x): self.val = x self.left = None self.right = None class Solution(object):
Definition for a binary tree node.
class TreeNode(object):
def __init__(self, x):
self.val = x
self.left = None
self.right = None
class Solution(object):
def same(self, s, t):
if(s is None and t is None):
return True
if(s is None or t is None):
return False
return s.val==t.val and self.same(s.left,t.left) and self.same(s.right,t.right)
def traverse(self, s, t):
return (s!="" and (self.same(s,t) or self.traverse(s.left,t) or self.traverse(s.right,t)))
def isSubtree(self, s, t):
# print s.val
return self.traverse(s,t)
假设t和s是TreeNode对象,在哪里声明它们?是否有可能将未声明的变量传递给解决方案?问题看起来是检查,而不是遍历中的无检查。因为这个原因,它不会将任何值传递给相同的对象。您正在测试,但没有。如果s==或t==:可能更像Pythonic,如果s或t:other ~~是的..我知道。但那不是我的问题,是的。我打电话给isSubtree of Solution。我可以在IsubTree中打印s.val,但不能在其他定义中打印s.val,但是?我还是很困惑,兄弟。问题解决了。我只是想知道“无”是如何产生差异的。使用“s”不是“无”,而不是“s”=。这些意味着不同的事情。所以当我写s时它会自动转换s吗?Python中没有自动转换。当你做s!=,它只是检查s的值是否为,它不会总是一个TreeNode或None。