Python插入节点函数

时间:2016-07-26 05:56:53

标签: python python-2.7

我很难理解如何正确修复插入节点功能。我没有收到任何错误,但我也没有显示列表。

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

class Solution:
    def display(self, head):
        current = head
        while current:
            print current.data,
            current = current.next

    def insert(self, head, data):
        self.head = head
        new_node = Node(data)
        if self.head is None:
            self.head = new_node
        else:
            new_node.next = self.head
            self.head = new_node

mylist = Solution()
T = int(input())
head = None
for i in range(T):
    data = int(input())
    head = mylist.insert(head, data)    
mylist.display(head)

2 个答案:

答案 0 :(得分:0)

你的insert()没有返回任何内容。因此,如果您为其指定返回值,则head将为None。

答案 1 :(得分:0)

我认为这是你想要的

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


class Solution:
     def __init__(self):
        self.head = None

    def display(self):
        current = self.head
        while current:
            print current.data,
            current = current.next

    def insert(self, data):
        new_node = Node(data)
        if self.head is None:
            self.head = new_node
        else:
            new_node.next = self.head
            self.head = new_node


mylist = Solution()
T = int(input())
for i in range(T):
    data = int(input())
    mylist.insert(data)
mylist.display()