微信app下载安装免费,seo手机排名软件,自已建设网站流程,青岛商城网站开发博客主页#xff1a;#x1f3c6;看看是李XX还是李歘歘 #x1f3c6; #x1f33a;每天分享一些包括但不限于计算机基础、算法等相关的知识点#x1f33a; #x1f497;点关注不迷路#xff0c;总有一些#x1f4d6;知识点#x1f4d6;是你想要的#x1f497; ⛽️今… 博客主页看看是李XX还是李歘歘 每天分享一些包括但不限于计算机基础、算法等相关的知识点 点关注不迷路总有一些知识点是你想要的 ⛽️今天的内容是 Leetcode 206. 反转链表 ⛽️ 206. 反转链表
给你单链表的头节点 head 请你反转链表并返回反转后的链表。 示例 1 输入head [1,2,3,4,5]
输出[5,4,3,2,1]示例 2 输入head [1,2]
输出[2,1]示例 3
输入head []
输出[]提示
链表中节点的数目范围是 [0, 5000]-5000 Node.val 5000 进阶链表可以选用迭代或递归方式完成反转。你能否用两种方法解决这道题
原地反转
# Definition for singly-linked list.
# class ListNode:
# def __init__(self, val0, nextNone):
# self.val val
# self.next next
class Solution:def reverseList(self, head: Optional[ListNode]) - Optional[ListNode]:tmp Noneres Nonewhile head is not None :tmp head.nexthead.next resres headhead tmpreturn res