题目描述
输入一个链表,反转链表后,输出新链表的表头。
反转链表,用三个指针分别指向要反转的前一个元素,当前元素,后一个元素,然后链起来。
注意边界就好。
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;
}
};
转载于:https://www.cnblogs.com/ruoh3kou/p/10051694.html