Pythonで単方向リストを逆にする方法は?
Pythonのシングルクリンクドリストの反転は、反復または再帰によって実装できます。
- 反復法:
- def reverseList(head):
prev = None
current = head
while current:
tmp = current.next
current.next = prev
prev = current
current = tmp
return prev - 再帰的方法:
- head が None または head.next が None でない場合、head.next の次に head がくるようにして、head.next を None にして、head.next の reverseList を返せばいい
どちらの方法も反転した連結リストの頭のノードを返します。