前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >leecode206(反转链表)

leecode206(反转链表)

作者头像
武师叔
发布2022-09-26 17:28:36
1660
发布2022-09-26 17:28:36
举报

每日一题——leecode206(反转链表)

https://www.bilibili.com/video/BV1434y1v7mv

题意

难度:简单

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

示例 1:

img
img
代码语言:javascript
复制
输入:head = [1,2,3,4,5]
输出:[5,4,3,2,1]

示例 2:

img
img
代码语言:javascript
复制
输入:head = [1,2]
输出:[2,1]

示例 3:

代码语言:javascript
复制
输入:head = []
输出:[]

思路代码

代码实现(方法一递归):

视频讲解:我愿意称之为最清晰的讲解(推荐2倍数使用)

img
img
img
img
代码语言:javascript
复制
def reverseList(self, head: ListNode) -> ListNode:
    if head is None or head.next is None:
        return head
    
    p = self.reverseList(head.next)
    head.next.next = head
    head.next = None

    return p

代码实现(方法二迭代解法):

视频讲解:https://leetcode-cn.com/problems/reverse-linked-list/solution/shi-pin-jiang-jie-die-dai-he-di-gui-hen-hswxy/)

代码语言:javascript
复制
# 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:
        prev, curr = None, head     #prev是previous前一个,curr是current当前
        while curr is not None:
            next = curr.next
            curr.next = prev
            prev = curr
            curr = next
        return prev
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-05-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 每日一题——leecode206(反转链表)
    • 题意
      • 思路代码
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档