劍指offer 15 反轉鍊錶

2021-08-16 03:11:33 字數 460 閱讀 2626

輸入乙個鍊錶,反轉鍊錶後,輸出鍊錶的所有元素。

#include

using namespace std;

struct listnode

};class solution

};class solution1

return pfront1;}};

else

pnode->next = new listnode(num);}}

int main()

cout << "end" << endl;

system("pause");

總結:1.遍歷解法,假設pcur是遍歷時當前指標,鍊錶反轉的核心操作是pcur->next=前乙個pcur,因此只需令乙個指標變數一直記住前乙個pcur的值再用pcur遍歷鍊錶即可。

2.遞迴解法,要反轉phead指向的鍊錶,先反轉phead->next指向的鍊錶再將phead接起來。

劍指offer 15 反轉鍊錶

輸入乙個鍊錶,反轉鍊錶後,輸出鍊錶的所有元素。反轉鍊錶只需改變鏈結方向,改變方向時需要將原本指向後乙個結點的鏈結方向指向前乙個結點,因此需要記錄下三個結點。include using namespace std struct listnode class solution listnode fron...

劍指Offer 15 反轉鍊錶

輸入乙個鍊錶,反轉鍊錶後,輸出鍊錶的所有元素。coding utf 8 class listnode def init self,x self.val x self.next none class solution 返回listnode def reverselist self,phead writ...

劍指Offer(15) 反轉鍊錶

輸入乙個鍊錶,反轉鍊錶後,輸出新鍊錶的表頭。使用三個指標,分別指向當前遍歷到的結點pnode 它的前乙個結點ppre以及後乙個結點pnext。在遍歷的時候,做結點的替換。例如 當前結點pnode 1,ppre 0,pnext 2,替換pnode.next ppre 同時向後遍歷,ppre pnode...