LeetCode.206.Reverse Linked List

原題鏈接:Reverse Linked List

題目內容:
Reverse a singly linked list.

Example:

Input: 1->2->3->4->5->NULL
Output: 5->4->3->2->1->NULL

Follow up:
A linked list can be reversed either iteratively or recursively. Could you implement both?

題目翻譯:
使用兩種方法逆置鏈表,遞歸和迭代

Python 迭代

class Solution(object):
    def reverseList(self, head):
        """
        :type head: ListNode
        :rtype: ListNode
        """
        res = None
        while head:
            temp = head
            head = head.next
            temp.next = res
            res = curr
        return res

Python 遞歸

def reverseList(self, head):
    """
    :type head: ListNode
    :rtype: ListNode
    """
    return self._reverse(head)

def _reverse(self, node, last=None):
    if not node:
        return last
    n = node.next
    node.next = last
    return self._reverse(n, node)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章