您的位置:首页 > 其它

【LEETCODE】206-Reverse Linked List

2015-11-24 16:54 363 查看
Reverse a singly linked list.

迭代:



# Definition for singly-linked list.
# class ListNode(object):
#     def __init__(self, x):
#         self.val = x
#         self.next = None

class Solution(object):
def reverseList(self, head):
"""
:type head: ListNode
:rtype: ListNode
"""

tem=ListNode(0)

while head:
next=head.next
head.next=tem.next
tem.next=head
head=next
return tem.next


递归:



# Definition for singly-linked list.
# class ListNode(object):
#     def __init__(self, x):
#         self.val = x
#         self.next = None

class Solution(object):
def reverseList(self, head):
"""
:type head: ListNode
:rtype: ListNode
"""

return self.reverse2(head,None)

def reverse2(self,head,lasthead):
if head==None:
return lasthead
next=head.next
head.next=lasthead

return self.reverse2(next,head)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: