题解 | #反转链表#

反转链表

https://www.nowcoder.com/practice/75e878df47f24fdc9dc3e400ec6058ca

/*
struct ListNode {
    int val;
    struct ListNode *next;
    ListNode(int x) :
            val(x), next(NULL) {
    }
};*/
class Solution {
  public:
    ListNode* ReverseList(ListNode* pHead) {
        ListNode* pReverseList = NULL;
        ListNode* pNode = pHead;
        ListNode* pPre = NULL;


        while (pNode != NULL) {
            ListNode* pNext = pNode->next;
            if (pNext == NULL) {
                pReverseList = pNode;
            }
            // 让当前的结点不指向下一个而指向上一个
            pNode->next = pPre;
            pPre = pNode;
            pNode = pNext;
        }
        return pReverseList;
    }
};

全部评论

相关推荐

KKorz:是这样的,还会定期默写抽查
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务