[剑指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;
  }
};

 

posted @ 2018-12-01 23:38  Ruohua3kou  阅读(95)  评论(0编辑  收藏  举报