[剑指offer] 15. 反转链表
题目描述
输入一个链表,反转链表后,输出新链表的表头。
反转链表,用三个指针分别指向要反转的前一个元素,当前元素,后一个元素,然后链起来。
注意边界就好。
class Solution { public: ListNode *ReverseList(ListNode *pHead) { ListNode *curNode = pHead; ListNode *preNode = NULL; ListNode *nextNode = NULL; if (pHead == NULL) { return NULL; } while (curNode->next != NULL) { nextNode = curNode->next; curNode->next = preNode; preNode = curNode; curNode = nextNode; } curNode->next = preNode; return curNode; } };