1反轉鍊錶2//
題目:輸入乙個鍊錶,反轉鍊錶後,輸出鍊錶的所有元素
3struct
listnode48
};9//思路:比如 1->2->3->4->5->6
10//
反轉後 1<-2<-3 4<-5<-6
11//
為了防止3和4斷開,需要以下操作
12//
首先知道結點3的前乙個結點2, 因為我們需要把3的next指向2
13//
然後需要儲存3的下乙個結點4,以防止鍊錶斷開。
14//
因此需要定義3個指標,遍歷到的結點,前乙個結點,後乙個結點
15class
solution
1624 listnode* pnodepre =null;
25 listnode* pnoderear =null;
26 listnode* tmpnode =phead;
27while(tmpnode !=null)
2834 tmpnode->next =pnodepre;
35 pnodepre =tmpnode;
36 tmpnode =tmpnext;37}
38return
pnoderear;39}
4041 };
15 反轉鍊錶
題目描述 輸入乙個鍊錶,反轉鍊錶後,輸出新鍊錶的表頭。struct listnode class solution 第一種方法是 非遞迴方法 struct listnode class solution return ppre 第二種方法是 遞迴方法 遞迴的方法其實是非常巧的,它利用遞迴走到鍊錶的末...
15 反轉鍊錶
題目描述 輸入乙個鍊錶,反轉鍊錶後,輸出新鍊錶的表頭。一 利用棧 空間效率低 利用棧stack容器後進先出 1.將鍊錶從頭到尾遍歷放入stack中 2.棧依次彈出元素賦給下乙個結點值,指標指向下乙個結點 2.然後改變結點指標指向前乙個位置,即完成反轉。struct listnode class so...
15 反轉鍊錶
定義乙個函式,輸入乙個鍊錶的頭節點,反轉該鍊錶並輸出反轉後鍊錶的頭節點。修改指標指向。記憶 每一次 對應while中四步 1 原鏈的頭結點指向新結點的後置結點 2 頭結點被新結點後置指標指向 3 新結點成為頭結點 4 保持q指標在p指標的所指節點的下乙個節點上 返回listnode defrever...