問題:輸入乙個鍊錶,將其進行反轉。
思路:定義三個指標分別指向當前結點,前乙個結點,後乙個結點,然後依次反轉指標指向。
具體**如下:(c++)
struct listnode
int val;
listnode* next;
listnode(int x):val(x),next(nullptr){}
class solution
public:
listnode* reverselist(listnode* phead)
//當pcurnode為倒數第1個結點時,上面迴圈跳出
pcurnode->next = pprenode;
return pcurnode;
}
劍指Offer16 單鏈表反轉問題
單鏈表反 定義乙個函式,輸入乙個鍊錶的頭結點,反轉該鍊錶並輸出反轉後鍊錶的頭結點。單鏈表的反轉問題較為簡單,毫無疑問採用指標的方式來進行鍊錶反轉 注意 在調整第i個節點之前,為了保證鍊錶不被斷裂 首先需要定義指標記錄,i的前乙個結點的位置。public class code016 private s...
劍指offer Python反轉單鏈表
輸入乙個鍊錶,反轉鍊錶後,輸出新鍊錶的表頭。coding utf 8 class listnode def init self,x self.val x self.next none class solution 返回listnode defreverselist self,phead write ...
劍指2 反轉單鏈表
題目描述 反轉乙個單鏈表 返回的仍然是鍊錶 樣例 輸入 1 2 3 4 5 null 輸出 5 4 3 2 1 null 題解 方法一 迭代 雙指標 設定兩個相鄰指標,乙個在前,乙個在後,進行反轉 反轉完成後,兩個指標同時後移一位繼續反轉 遍歷一遍就可全部反轉完成 public static lis...