Рекурсивное преобразование односвязного списка в список целых чиселPython

Программы на Python
Anonymous
Рекурсивное преобразование односвязного списка в список целых чисел

Сообщение Anonymous »

Я пытаюсь рекурсивно превратить односвязный список в список целых чисел. Я попытался написать функцию, но она не работает так, как я предполагал.
Функция должна принимать список типа Node(1, Node(2, None)) и возвращать список целых чисел, например [1, 2].
Я попытался написать приведенную ниже функцию, но на выходе получаю [1]. Я не уверен, в чем я ошибаюсь, поскольку я новичок в рекурсии.

Код: Выделить всё

def linked(items: Optional[Cell]) -> List[int]:
if items is None:
return None
elif items.next is not None:
list_int = []
list_int.append(items.data)
linked(items.next)
return list_int
Вот определение класса Cell:

Код: Выделить всё

class Cell:
data: int
next: Optional[Cell]

def __init__(self, data: int, next: Optional[Cell]):
"""Constructs a singly linked list."""
self.data = data
self.next = next
***отредактировано, чтобы сделать его более целенаправленным и понятным.

Подробнее здесь: https://stackoverflow.com/questions/649 ... ecursively

Вернуться в «Python»