n树打印的特定路径:AttributeError:“列表”对象没有属性“数据”

时间:2020-05-05 22:38:55

标签: python class oop tree

我正在尝试在节点和叶子之间打印特定路径。我创建了一个类n-tree(一个有多个n-children的树),但是当我运行函数时,它会告诉我

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 []

我仍然是一个初学者,所以我不太了解课程的工作原理。任何帮助将不胜感激。

0 个答案:

没有答案