美文网首页
剑指 Offer-24-反转链表

剑指 Offer-24-反转链表

作者: 阿凯被注册了 | 来源:发表于2020-11-30 23:05 被阅读0次

原题链接:https://leetcode-cn.com/problems/fan-zhuan-lian-biao-lcof/

定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点。


image.png

解题思路:

  1. 递归思路,假设head.next是已经反转过的链表的头结点ret,接着只需将head指向ret的方向反过来,即head.next.next=head,即令ret的尾结点指向head,接着令head指向空。
  2. 迭代思路:参考https://leetcode-cn.com/leetbook/read/illustration-of-algorithm/9p7s17/

Python3代码:

# Definition for singly-linked list.
# class ListNode:
#     def __init__(self, x):
#         self.val = x
#         self.next = None

class Solution:
    def reverseList(self, head: ListNode) -> ListNode:
        # 递归
        if not head or not head.next: return head
        ret = self.reverseList(head.next)
        head.next.next = head
        head.next = None 
        return ret
class Solution:
    def reverseList(self, head: ListNode) -> ListNode
        # 迭代
        if not head or not head.next:
            return head
        pre = None
        cur = head 
        while cur:
            tmp = cur.next
            cur.next = pre 
            pre = cur
            cur = tmp
        return pre

相关文章

  • 剑指 Offer-24-反转链表

    原题链接:https://leetcode-cn.com/problems/fan-zhuan-lian-biao...

  • 反转链表

    《剑指offer》面试题24:输入一个链表,反转链表后,输出新链表的表头。 思路:反转链表就是将链表中每一个节点的...

  • 2022-03-26 链表反转回文

    反转链表:java版本: 剑指 Offer II 027. 回文链表[https://leetcode.cn/pr...

  • 24.反转链表

    剑指 Offer II 024. 反转链表[https://leetcode.cn/problems/UHnkqh...

  • 剑指offer:反转链表

    题目分析 输入一个链表,反转链表后,输出链表的所有元素。 代码

  • [剑指offer] 反转链表

    题目描述 输入一个链表,反转链表后,输出新链表的表头。 解题思路 设置三个指针,head为当前节点,pre为当前节...

  • 《剑指Offer》 反转链表

    题目描述 输入一个链表,反转链表后,输出新链表的表头。 源代码

  • 剑指offer:反转链表

    (Leetcode 206: reverse linked list)反转链表是比较重要的题,面试笔试经常会考。做...

  • [剑指Offer]反转链表

    本文首发于我的个人博客Suixin’s Blog原文: https://suixinblog.cn/2019/02...

  • 【剑指 offer】反转链表

    1、题目描述 定义一个函数,输入一个链表的头结点,反转该链表并输出反转后链表的头结点。 样例输入:1->2->3-...

网友评论

      本文标题:剑指 Offer-24-反转链表

      本文链接:https://www.haomeiwen.com/subject/uctjwktx.html