/*
struct ListNode {
int val;
struct ListNode *next;
ListNode(int x) :
val(x), next(NULL) {
}
};*/
class Solution {
public:
ListNode* ReverseList(ListNode* pHead) {
//注意初始判断是不是null或者单节点
if(!pHead || !pHead->next) return pHead;
//两个哨兵节点,依次后移,更改链表方向
ListNode* p = pHead, *q = pHead->next;
while(q){
ListNode* temp = p;
p = q;
q = q->next;
p->next = temp;
}
//最后记得把原来的头节点的next = 0.
pHead->next = 0;
return p;
}
};
剑指offer-16.反转链表
最新推荐文章于 2021-10-16 18:09:35 发布