題目
https://www.lintcode.com/problem/reverse-linked-list/description?_from=ladder&&fromId=2
實現
將所有的節點指向反向指即可,如
prev_node -> head -> next_node
變成
prev_node <- head <- next_node
最後返回 prev_node(此時 head 是 None,prev_node 是原來鏈表的最後一個節點)
代碼
class ListNode(object):
def __init__(self, val, next=None):
self.val = val
self.next = next
class Solution:
"""
@param head: n
@return: The new head of reversed linked list.
"""
def reverse(self, head):
prev_node = None
while head is not None:
next_node = head.next
head.next = prev_node
prev_node = head
head = next_node
return prev_node