輸入乙個鍊錶,反轉鍊錶後,輸出鍊錶的所有元素。
#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...