Python如何提示用户输入指向链表的第一个节点的引用?

时间:2017-05-03 07:58:26

标签: python singly-linked-list

我正在研究单链表问题。它是关于编写一个函数来实现递归算法,该算法计算单链表中的节点数。

我被卡住了,因为我需要提示用户输入指向链接列表第一个节点的引用。

但到目前为止,我只能编写一个程序,用户应手动输入元素并最终计算节点,而不是通过引用,并计算引用所指向的链表的节点。

任何人都可以帮助我吗?

class Node:

    def __init__(self, data):
        self.data = data
        self.next = None


class LinkedList:

    def __init__(self):
        self.head = Node(None)

    def add(self, item):
        temp = Node(item)
        temp.next = self.head
        self.head = temp

    def countNodes(self, node):
        if not node: 
            return 0
        else:
            return 1 + self.countNodes(node.next)

    def getCount(self):
       return self.countNodes(self.head)


if __name__=='__main__':
    new = LinkedList()
    new.add(1)
    new.add(3)
    new.add(1)
    new.add(2)
    new.add(3)
    new.add(1)
    new.add(2)

    print ('Count of nodes is :',new.getCount())

为了更清楚,用户无需手动创建这样的链接列表。用户将向我的函数输入一个变量,该变量是指向链表的第一个节点的引用。

0 个答案:

没有答案