类似上图,其实步骤很简单,用三个指针pre,cur,temp,看英文也知道具体含义,前向,当前,和用于保存剩余的链表 ,具体看下图,很清晰
class Solution {
public:
ListNode* reverseList(ListNode* head) {
ListNode* pre=nullptr;
ListNode* cur=head;
while(cur!=nullptr){
ListNode *next=cur->next;
cur->next=pre;
pre=cur;
cur=next;
}
return pre;
}
};