/* struct ListNode { int val; struct ListNode *next; ListNode(int x) : val(x), next(NULL) { } };*/ class Solution { public: ListNode* ReverseList(ListNode* pHead) { if (pHead == nullptr || pHead -> next == nullptr) return pHead; ListNode* currentNode = pHead; ListNode* preNode = nullptr; while (currentNode -> next != nullptr) { ListNode* nextNode = currentNode -> next; currentNode -> next = preNode; preNode = currentNode; currentNode = nextNode; } currentNode -> next = preNode; return currentNode; } };
原文:https://www.cnblogs.com/waterrzhang/p/13672992.html