2016-07-26 91 views
0

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

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) 
+0

u能解决您的压痕在'while'循环? –

回答

0

您的插入()没有返回任何东西。因此,如果您为其分配返回值,那么head将为None。

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() 
+0

对不起,由于这个挑战的性质,我没有在原始文章中提到,除了类Solution的插入功能之外,我无权编辑任何代码。 – user2849274