Обратный список ссылок в python - PullRequest
0 голосов
/ 29 февраля 2020

Я написал Python обратный связанный список, но при запуске у меня появляется ошибка:

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

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

    def reverse_linkedlist(self):
        prev = None
        if self.head == None:
            print("List has no elements")
            return
        n = self.head
        while n is not None:
            next = n.ref
            n.ref = prev
            prev = n
            n = next
            self.head = prev

        return self.items


mylinklist = LinkList()
A = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20]

B=mylinklist.reverse_linkedlist(A)
print(B)

Ошибка:

B=mylinklist.reverse_linkedlist(A)
  TypeError: reverse_linkedlist() takes 1 positional argument but 2
    were given
  1. Не могли бы вы исправить эту ошибку?
  2. Также, как мне отменить только 15 пунктов данного списка?

1 Ответ

0 голосов
/ 29 февраля 2020

Я изменил код, но возникла новая ошибка:

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

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

    def reverse_linkedlist(self, A):
        prev = None
        if self.head == None:
        print("List has no elements")
        return
    n = self.head
    while n is not None:
        next = n.ref
        n.ref = prev
        prev = n
        n = next
        self.head = prev

    return n

 mylinklist = LinkList()
 A = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20]
 print([l for l in mylinklist.reverse_linkedlist(A[:15])])

ошибка: Ошибка типа: объект 'NoneType' не повторяется

...