题目
输入一个链表,反转链表后,输出新链表的表头。
思路
dummyHead这种技巧很实用。
代码
/*
struct ListNode {
int val;
struct ListNode *next;
ListNode(int x) :
val(x), next(NULL) {
}
};*/
class Solution {
public:
ListNode* ReverseList(ListNode* pHead) {
ListNode* p = pHead;
ListNode* dummyHead = new ListNode(0);
dummyHead->next = nullptr;
while ( p!= nullptr ) {
ListNode* pCur = p;
p = p->next;
pCur->next = dummyHead->next;
dummyHead->next = pCur;
}
return dummyHead->next;
}
};