LeetCode:反转链表

253 阅读1分钟

一、题目描述

二、思路分析

2.1 分析

    解决本题有两种思路:
        1. 第一种思路是迭代。先定义指针 prev 指向 null,cur 记录 链表当前节点(开始时指向 head),tmp 记录 cur 的下一个节点。通过迭代 cur,tmp 记录 cur.next。让 cur.next 指向 prev,prev 和 cur 前进一位,直到 cur 为空。此时 prev 即为 反向链表的头节点。
        2. 第二种思路是递归。不好理解,参考动画演示,可以 Debug 调试理清思路。

2.2 图解

三、题解

反转链表的实现

  • 迭代

  • 递归