循环遍历链表,用一个临时的变量保存下一个节点,并将当前节点用头插法插入到一个新的链表中,最后返回这个新的链表
/*
struct ListNode {
int val;
struct ListNode *next;
ListNode(int x) :
val(x), next(NULL) {
}
};*/
class Solution {
public:
ListNode* ReverseList(ListNode* pHead) {
ListNode* pNew = NULL;
ListNode* p = pHead;
while(p)
{
//当前节点为p,临时保存下一个节点;
ListNode* tmp = p->next;
//头插法插入到新的链表中;
p->next = pNew;
pNew = p;
//到下一个节点;
p = tmp;
}
return pNew;
}
};
京公网安备 11010502036488号