剑指offer 反转链表
- 题目描述
输入一个链表,反转链表后,输出链表的所有元素。
- 解法
借助新的指针,直接修改链表。运行时间:0ms,占用内存:8552k。当然,也可以用头插法等方法来解决问题。
/*
struct ListNode {
int val;
struct ListNode *next;
ListNode(int x) :
val(x), next(NULL) {
}
};*/
class Solution {
public:
ListNode* ReverseList(ListNode* pHead) {
ListNode* p;
if (pHead == NULL)
return NULL;
p = pHead;
pHead = pHead->next;
p->next = NULL;
while (pHead)
{
ListNode* temp = p;
p = pHead;
pHead = pHead->next;
p->next = temp;
}
return p;
}
};