时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 64M,其他语言128M 热度指数:1136453
题目描述
输入一个链表,反转链表后,输出新链表的表头。
示例1
输入
{1,2,3}
返回值
{3,2,1}
class Solution {
public:
ListNode* ReverseList(ListNode* pHead) {
if(!pHead) return pHead;
ListNode* pt;
ListNode* ph = pHead;
while(pHead->next)
{
pt = pHead->next;
pHead->next = pHead->next->next;
pt->next = ph;
ph = pt;
}
return ph;
}
};
package main
import . "nc_tools"
/*
* type ListNode struct{
* Val int
* Next *ListNode
* }
*/
/**
*
* @param pHead ListNode类
* @return ListNode类
*/
func ReverseList( pHead *ListNode ) *ListNode {
if pHead==nil{
return pHead;
}
var pt *ListNode
var ph *ListNode = pHead
for pHead.Next != nil{
pt = pHead.Next
pHead.Next = pHead.Next.Next
pt.Next = ph
ph = pt
}
return ph
}