题目描述及链接
解题思路
方法1.依次反转链表指向
使用三个指针来维护原链表,使用while循环依次反转结点指向。
循环结束条件是n2指针为空指针。
循环结束时,n1所指的就是反转后的头节点。
方法1动图演示
方法1完整代码
方法1结果
方法2.依次头插
创建一个新的空链表newhead,将原链表的元素依次头插给新链表,就实现了反转。
方法2动图演示
方法2完整代码
方法2结果
总结
反转链表并返回反转后的链表,关键是要实现依次反转每个结点的指向。
本题通过三个指针来完成
方法1指针n1、n2来实现反转指向,由于反转指向后,便无法找到下一个结点,所以用n3保存下一个结点。
方法2基于同样的原因需要变量next。