python实现单链表翻转

2021-07-17 13:04

阅读:636

标签:turn   实现   class   group   ext   button   foo   div   lin   

题目描述:

 

翻转一个链表

您在真实的面试中是否遇到过这个题? 
Yes

 

样例

给出一个链表1->2->3->null,这个翻转后的链表为3->2->1->null

 

挑战 

在原地一次翻转完成

 

题目分析:

在原地一次翻转完成

循环head链表,将链表中的元素从表头依次取出指向新链表即可。

源码:

"""
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

 

python实现单链表翻转

标签:turn   实现   class   group   ext   button   foo   div   lin   

原文地址:https://www.cnblogs.com/tianqizhi/p/9532211.html


评论


亲,登录后才可以留言!