反转一个单链表。
示例:
输入: 1->2->3->4->5->NULL
输出: 5->4->3->2->1->NULL
进阶:
你可以迭代或递归地反转链表。你能否用两种方法解决这道题?
从头结点开始,逐一反转当前节点即可
var reverseList = function(head) {
if(head==null){return [];}
var pre;
while(head!=null){
//记录当前节点的下一个节点指针
var next=head.next;
//修改当前节点的指针
head.next=pre;
//向右移动pre和head指针
pre=head;
//pre为处理完的头结点
//head 指向待处理的部分
head=next;
}
return pre;
};