剑指offer 66题 -- 输入一个链表,反转链表后,输出链表的所有元素。

class Solution {
public:
ListNode* ReverseList(ListNode* pHead) {
  //变量定义区
  ListNode* pCurrent = pHead;
  ListNode* pPrevious = NULL;
  ListNode* rHead = NULL;

  //入参有效性检查
  if(NULL == pHead)
    return pHead;

  while(pCurrent != NULL)
  {
    ListNode* pNext = pCurrent->next;
    if(pNext == NULL)
      rHead = pCurrent;

    pCurrent->next = pPrevious;
    pPrevious = pCurrent;
    pCurrent = pNext;
  }

  return rHead;
}
};

 

程序已通过牛客网测试用例。

posted @ 2017-02-26 22:19  夜雨寒山  阅读(87)  评论(0编辑  收藏  举报