每日一题打卡
2020.12.20
输入一个链表,反转链表后,输出新链表的表头。
解题思路:
其实就是利用类似栈的方法,依次将原本链表的每一个点像栈一样压入新链表中(为了方便理解我说了新链表,但其实没有创建新链表)。
/*
struct ListNode {
int val;
struct ListNode *next;
ListNode(int x) :
val(x), next(NULL) {
}
};*/
class Solution {
public:
ListNode* ReverseList(ListNode* pHead) {
ListNode *ansLink=NULL;
ListNode *cur=pHead;
ListNode *nex=NULL;
while(NULL!=cur)
{
nex=cur->next;
cur->next=ansLink;
ansLink=cur;
cur=nex;
}
return ansLink;
}
};