请看看这个程序。
append 函数将列表替换为 None。错误附在下面
class Solution(object):
def isIsomorphic(self, a, b):
ad = {}
bd = {}
if len(a) != len(b):
return False
for i in range(len(a)):
if a[i] in ad:
ad[a[i]] = ad[a[i]].append(i)
else:
ad[a[i]] = [i]
if b[i] in bd:
bd[b[i]] = bd[b[i]].append(i)
else:
bd[b[i]] = [i]
ret = True
for j,k in zip(ad.values(), bd.values()):
if j != k:
return False
return ret
sol = Solution()
print sol.isIsomorphic("ccc", "aab")
错误
ad[a[i]] = ad[a[i]].append(i)
AttributeError: 'NoneType' object has no attribute 'append'
在这里:您将 ad[a[i]].append[i] 分配给了不需要的 ad[a[i]]。它是函数调用并返回 None。你只需要做 ad[a[i]].append(i)
class Solution(object):
def isIsomorphic(self, a, b):
ad = {}
bd = {}
if len(a) != len(b):
return False
for i in range(len(a)):
if a[i] in ad:
ad[a[i]].append(i)
else:
ad[a[i]] = [i]
if b[i] in bd:
bd[b[i]].append(i)
else:
bd[b[i]] = [i]
ret = True
for j,k in zip(ad.values(), bd.values()):
if j != k:
return False
return ret
sol = Solution() 打印 sol.isIsomorphic("ccc", "aab")
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句