2016-07-26 4 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

Может у исправить ваш отступы в 'while' цикле? –

ответ

0

Ваша вставка() ничего не возвращает. Таким образом, голова будет 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

Смежные вопросы