さて、私は次のことをすることになっていた:
クラスノードの使用(古典的な構築)..
class No:
def __init__(self, valor, prox):
self.valor = valor
self.prox = prox
呼び出されたときに連鎖リストの2番目と3番目の文字を交換し、元のリストの最後に後方連鎖リストを追加する関数を作成します。したがって、function(list)を実行すると、lista = No(1、No(4、No(2、None)))(1> 4> 2)であり、(1> 2> 4> 4> 2> 1)が返されます。 )。
それに関する問題は、私が通常のリストに用語を追加し、そこでそれらをいじることによって問題を解決したことです。しかし、その後、チェーンリスト(上記のノードクラス)のみを使用することになっていたことがわかり、今では少し無知です...
間違った解決策のコード:
class No:
def __init__(self, valor, prox):
self.valor = valor
self.prox = prox
def printLista(lista):
global lista1
lista1 = []
while lista:
lista1.append(lista.valor)
lista = lista.prox
return lista1
def printbackwards(lista):
global lista2
if lista == None: return
printbackwards(lista.prox)
lista2.append(lista.valor)
def swapprint(lista):
global lista1, lista2
i = 0
lista2 = []
printlist(lista)
printbackwards(lista)
for i in range(len(lista1)):
print lista1[i], lista2[i],
lista = No(3, No(1, No(4, No(2, None))))
swapprint(lista)