反转链表
1.反转链表
题目
过程
初始阶段:head为一个链表名,head指向链表的头节点,pre指向头节点的前一个节点,curr也指向头节点。
第一步:新命名一个next节点,让next指向第二个节点,即next = curr_next(curr_next指的是curr的后一个节点);
第二步:让curr_next节点指向pre,即curr_next= pre;
第三步:让pre指向curr节点,即pre = curr;
第四步:让curr指向下一个节点,即curr = next;
结果:pre指向第一个节点,curr指向第二个节点,第二个节点指向第一个节点。
2.代码实现(js)
下面展示一些 内联代码片
。
功能函数的实现
function ReverseLinkedList(head) {
var pre = null;
var curr = head;
var next = null;
if (curr == null) {
return null;
}
while (curr != null) {
next = curr.next;
curr.next = pre;
pre = curr;
curr = next;
}
return pre;
}