反转一个单链表。
示例:
输入: 1->2->3->4->5->NULL
输出: 5->4->3->2->1->NULL
迭代解法
解题思路: 将单链表中的每个节点的后继指针指向它的前驱节点即可
画图实现: 画图帮助理解一下
确定边界条件: 当链表为 null 或链表中仅有一个节点时,不需要反转
代码:
var reverseList = function(head) {
var cur = head,pre = null;
if(!head||!head.next){return head;}
while(cur){
var temp = cur.next;
cur.next = pre;
pre = cur;
cur = temp;
}
head = pre;
return head;
};
转载自作者:user7746o 链接:leetcode-cn.com/problems/re… 来源:力扣(LeetCode)