python实现单链表翻转
2021-07-17 13:04
标签:turn 实现 class group ext button foo div lin 题目描述: 翻转一个链表 给出一个链表1->2->3->null,这个翻转后的链表为3->2->1->null 在原地一次翻转完成 题目分析: 在原地一次翻转完成 循环head链表,将链表中的元素从表头依次取出指向新链表即可。 源码: python实现单链表翻转 标签:turn 实现 class group ext button foo div lin 原文地址:https://www.cnblogs.com/tianqizhi/p/9532211.html"""
Definition of ListNode
class ListNode(object):
def __init__(self, val, next=None):
self.val = val
self.next = next
"""
class Solution:
"""
@param head: The first node of the linked list.
@return: You should return the head of the reversed linked list.
Reverse it in-place.
"""
def reverse(self, head):
# write your code here
if head is None: return None
p = head
cur = None
pre = None
while p is not None:
cur = p.next
p.next = pre
pre = p
p = cur
return pre
下一篇:跟我学算法-pca(降维)