自己写的,遍历一遍链表,再反向生成一个新链表
class Solution: def reverseList(self, head: Optional[ListNode]) -> Optional[ListNode]: # 检查链表是否为空 if not head: return None # 初始化一个空列表,用于存储原始链表节点的值 my_li = [] # 遍历原始链表,将节点值存储到列表中 cur = head while cur != None: my_li.append(cur.val) cur = cur.next # 打印存储的节点值列表,方便调试 print(my_li) # 初始化新链表的头节点,并将原始链表的最后一个节点值作为新链表的头节点值 new_head = ListNode(my_li.pop()) new_cur = new_head # 遍历原始链表节点值列表,创建新链表节点并逐个连接 while my_li: new_node = ListNode(my_li.pop()) new_cur.next = new_node new_cur = new_cur.next # 返回反转后的新链表的头节点 return new_head
标签:cur,反转,leedcode,li,链表,new,my,节点 From: https://www.cnblogs.com/yyyjw/p/18065484