剑指offer(15)反转链表
Posted 3yleaves
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了剑指offer(15)反转链表相关的知识,希望对你有一定的参考价值。
题目描述:
输入一个链表,反转链表后,输出新链表的表头。
解题代码:
/*function ListNode(x){
this.val = x;
this.next = null;
}*/
function ReverseList(pHead)
{
// write code here
if(pHead == null || pHead.next == null){
return pHead;
}
//三个指针,pre指向前一个指针,pHead为当前指针,next为下一个指针
var pre = null;
var next = null;
//当前指针不为空时,一直用next指向其下一个结点,再将当前指针的next指向前一个指针完成链表的反转
//操作完成后,用pre指向当前节点,pHead指向next指向的下一个结点。当前结点为空时,pre指向的即为反转后的链表的表头
while(pHead != null){
next = pHead.next;
pHead.next = pre;
pre = pHead;
pHead = next;
}
return pre;
}
以上是关于剑指offer(15)反转链表的主要内容,如果未能解决你的问题,请参考以下文章