Я пытаюсь напечатать указанный c путь между узлом и листом. Я создал n-дерево класса (дерево с несколькими n-дочерними элементами), но когда я запускаю свою функцию, он сообщает мне
AttributeError: 'list' object has no attribute 'data'
Это мой код:
class Node(object):
def __init__(self, data):
self.data = data
self.children = []
self.left = None
self.right = None
def add_child(self, obj):
self.children.append(obj)
def hasPath(root, arr, x):
if (not root):
return False
arr.append(root.data)
if(root.data == x):
return True
if(hasPath(root.left, arr, x) or hasPath(root.right, arr, x)):
return True
arr.pop(-1)
return False
def printPath(root, x):
arr = []
if(hasPath(root, arr, x)):
for i in range(len(arr) - 1):
print(arr[i], end = "->")
print(arr[len(arr) - 1])
else:
return []
Я все еще новичок в этом, поэтому не очень понимаю, как работают классы. Любая помощь будет принята с благодарностью.