美文网首页
python单链表反转

python单链表反转

作者: wowshiwoniu | 来源:发表于2022-03-14 17:09 被阅读0次

使用python实现单链表反转,核心就是当前cur游标和下一个链表节点。

  1. 初始化当前cur节点和反转链表
  2. temp临时变量记录下一个节点信息
  3. 赋值反转链表
  4. 剩余链表赋值给cur游标
class Node(object):
    def __init__(self, x):
        self.value = x
        self.next = None

    def __str__(self):
        return str(self.value)


class Solution:
    def reverseList(self, head):
        cur, prev = head, None
        while cur:              # 1         2       3       4
            temp = cur.next     # 2>3>4     3>4     4       None

            cur.next = prev     # 1         2>1     3>2>1   4>3>2>1
            prev = cur          # 1         2>1     3>2>1   4>3>2>1

            cur = temp          # 2>3>4     3>4     4       None

        return prev


if __name__ == '__main__':
    n1 = Node(1)
    n2 = Node(2)
    n3 = Node(3)
    n4 = Node(4)
    # n5 = Node(5)
    # n6 = Node(6)

    n1.next = n2
    n2.next = n3
    n3.next = n4
    # n4.next = n5
    # n5.next = n6

    cc = Solution().reverseList(n1)
    print(cc)
    print(cc.next)
    print(cc.next.next)
    print(cc.next.next.next)
    # print(cc.next.next.next.next)
    # print(cc.next.next.next.next.next)

相关文章

  • Algorithm小白入门 -- 单链表

    单链表递归反转链表k个一组反转链表回文链表 1. 递归反转链表 单链表节点的结构如下: 1.1 递归反转整个单链表...

  • python单链表反转

    使用python实现单链表反转,核心就是当前cur游标和下一个链表节点。 初始化当前cur节点和反转链表 temp...

  • 单链表反转

    单链表 单链表反转 递归方法

  • Java、Python3 实战 LeetCode 高频面试之单链

    单链表反转 单链表反转这道题可谓是链表里面的高频问题了,差不多可以说只要被问到链表,就会问单链表反转。 今天我们就...

  • 链表简单算法相关练习

    单链表反转: 给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。 迭代方式实现: 复杂度分析: 时...

  • 5个链表的常见操作

    链表 链表反转 LeetCode206:给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。 环路检...

  • 反转链表

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

  • 【教3妹学算法】2道链表类题目

    题目1:反转链表 给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。 示例 1: 输入:head ...

  • js+链表

    链表结构 删除链表某节点 遍历 反转单链表

  • 反转单链表

    题目:反转单链表。

网友评论

      本文标题:python单链表反转

      本文链接:https://www.haomeiwen.com/subject/nvhsdrtx.html