高频面试题: 单链表的反转

tech2026-01-15  11

高频面试题: 单链表的反转(个人笔记)

input : 1 -> 2 -> 3 -> 4 -> 5 -> Noneoutput : 5 -> 4 -> 3 -> 2 -> 1 -> None

python代码思路:

# -*- coding:utf-8 -*- # class ListNode: # def __init__(self, x): # self.val = x # self.next = None class Solution: # 返回ListNode def ReverseList(self, pHead): pre = None # 定义返回列表的头指针 cur = pHead # 当前操作链表的操作节点指针 while cur: # 当cur不为空 next = cur.next # 将当前操作节点放到逆序列表首部前先标记好后面节点位置 cur.next = pre # 移动当前节点到逆序节点首部 pre = cur # 将逆序链表中的首指针指向新的首部节点 cur = next # 返回cur指针到操作链表的首部 return pre # 返回逆序列表的首部指针

大概如下图示

最新回复(0)