35. Reverse Linked List

題目

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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章