• #206 反转链表


    题目:

     解题过程:

    思路一:迭代

        迭代需要三个指针,pre,cur,nxt,分别按顺序指向三个节点
        三个指针的初始化:pre指向空节点,cur指向头结点head,nxt指向head.next
        因为head.next可能不存在,nxt在循环中定义,这样如果head为空就不会进入循环
        迭代过程
            nxt指向cur.next
            cur.next指向pre
            pre移动到cur位置
            cur移动到nxt位置
        当cur为空时,返回pre

    链接:https://leetcode-cn.com/problems/reverse-linked-list/solution/shi-pin-tu-jie-206-fan-zhuan-lian-biao-d-zvli/

    代码:

    # Definition for singly-linked list.
    # class ListNode:
    #     def __init__(self, val=0, next=None):
    #         self.val = val
    #         self.next = next
    class Solution:
        def reverseList(self, head: ListNode) -> ListNode:
            pre =None
            cur=head
            while cur:
                nex = cur.next
                cur.next = pre
                pre = cur
                cur = nex
            return pre
  • 相关阅读:
    2021.4.4(每周总结)
    2021.4.2
    2021.4.1
    2021.3.31
    2021.3.30
    2021.3.29
    2021.3.28(每周总结)
    2021.3.26
    C语言中指针与取地址符&详解
    使用JDBC连接、操作数据库、实现数据处理
  • 原文地址:https://www.cnblogs.com/wangyufeiaichiyu/p/14790918.html
Copyright © 2020-2023  润新知