牛客题霸NC78反转链表c++题解

原题连接c++

题意:

跟题目名称同样spa

解法:

反转链表(单向),就是让每一个元素的\(next\)指向的元素的\(next\)只回来。指针

那就新建一个指针来记录上个元素,进行操做。code

可是上面操做有一点小问题:没法向后转移。get

解决方案:直接再开一个指针来记录当前元素的\(next\)便可。io

代码(c++):

class Solution {
public:
    ListNode* ReverseList(ListNode* pHead) {
        ListNode* s;
        ListNode* z = NULL;
        while(pHead != NULL){
            s = pHead ->next;
            pHead ->next = z;
            z = pHead;
            pHead = s;
        }
        return z;
    }
};
相关文章
相关标签/搜索