python实现单链表翻转
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python实现单链表翻转相关的知识,希望对你有一定的参考价值。
题目描述:
翻转一个链表
样例
给出一个链表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实现单链表翻转的主要内容,如果未能解决你的问题,请参考以下文章
Java算法 -- 单链表的反转单链表实现栈和队列以及双端队列K 个一组翻转链表
Java算法 -- 单链表的反转单链表实现栈和队列以及双端队列K 个一组翻转链表
Java算法 -- 单链表的反转单链表实现栈和队列以及双端队列K 个一组翻转链表