剑指 Offer 24. 反转链表(简单)

Posted 自在逍遥处

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了剑指 Offer 24. 反转链表(简单)相关的知识,希望对你有一定的参考价值。

通过率 74.2%

题目链接

题目描述:

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

示例:

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

限制:

0 <= 节点个数 <= 5000

思路:

反转链表,那么就改变箭头的方向(即next)

用pre保存head的前一个节点,next保存head的后一个节点,然后改变head.next的指向为pre,再令head=next继续循环这些操作,直到head为null

 1 /*javascript*/
 2 /**
 3  * Definition for singly-linked list.
 4  * function ListNode(val) {
 5  *     this.val = val;
 6  *     this.next = null;
 7  * }
 8  */
 9 /**
10  * @param {ListNode} head
11  * @return {ListNode}
12  */
13 var reverseList = function(head) {
14     var pre = null
15     while(head) {
16         var next = head.next
17         head.next = pre
18         pre = head
19         head = next
20     }
21     return pre
22 };

 

以上是关于剑指 Offer 24. 反转链表(简单)的主要内容,如果未能解决你的问题,请参考以下文章

剑指 Offer 24. 反转链表

《剑指Offer——24. 反转链表》代码

剑指 Offer 24. 反转链表

剑指offer(24)

剑指 Offer 24. 反转链表

LeetCode(剑指 Offer)- 24. 反转链表