【LeetCode】第206题——反转链表(难度:简单)

本篇博客详细介绍了如何解决LeetCode第206题——反转链表,包括迭代和递归两种解题方法。通过示例及步骤解析,帮助读者理解如何反转链表,同时提醒在实现过程中注意指针操作和递归理解。
摘要由CSDN通过智能技术生成

【LeetCode】第206题——反转链表(难度:简单)

题目描述

反转一个单链表。

  1. 示例:
    输入: 1->2->3->4->5->NULL
    输出: 5->4->3->2->1->NULL

进阶:
你可以迭代或递归地反转链表。你能否用两种方法解决这道题?

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/reverse-linked-list
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

解题思路

思路一:迭代
把下一个节点作为当前节点的上一个节点。

思路二:递归
递归的思路很难想出来,即便是看到答案估计也会花很长时间去理解,本人结合例子进行讲解。

把1–>2这个链表反转:
记录末尾节点为node
先变成1–>2–>1,即head.next.next=head
把头节点的1与2间的联系断开,即head.next=null
便得到了node链表2–>1,完成反转

升级一下,把1–>2–>3这个链表反转:
记录末尾节点为node
处理对象变为了最后两个节点,变成2–>3–>2,即当前的head.next.next=head
把head节点的2与3间的联系断开,即head.next=null
便得到了node链表3–>2

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值