牛客題霸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;
    }
};
相關文章
相關標籤/搜索