zoukankan      html  css  js  c++  java
  • 翻转链表-python

     问题:

    # 给你单链表的头节点 head ,请你反转链表,
    # 并返回反转后的链表。

    方法:

    1)双指针迭代法

    def reverseList(self, head: ListNode) -> ListNode:
        # 双指针法,申请两个指针
        prev = None
        curr = head
        while curr:
            next = curr.next    # 存好下一个节点
            curr.next = prev    # 翻过来,前一节点变后节点
            prev = curr         # 更新前节点
            curr = next         # 更新现节点
        return prev

    2)递归法

        def reverseList(self, head: ListNode) -> ListNode:
            # 迭代停止条件,当前节点为空或下一节点为空
            if not head or not head.next: return head
            # 递归方式,在函数体内部改变节点方向
            curr = self.reverseList(head.next)
            # head的下一个节点指向head
            head.next.next = head
            # 防止有环
            head.next = None
            return curr
    时刻记着自己要成为什么样的人!
  • 相关阅读:
    flash
    三星核S5PV210AH-A0 SAMSUNG
    FATFS(A)
    DDR2是什么意思
    Java中的三大框架分别有什么用
    SD卡
    自动挡汽车档位介绍
    FSMC(STM32)
    陶瓷天线
    'telnet'不是内部或外部命令,怎么办?
  • 原文地址:https://www.cnblogs.com/demo-deng/p/15422410.html
Copyright © 2011-2022 走看看