c++解題思路,如何反轉乙個鍊錶
將head
放到最後一位 -->head->next作為head
–>重複操作
看**:
首先這是乙個鍊錶
定義幾個指標
listnode *prep= null, *curp = head, *nextp=head->next;
然後執行**:
curp->next = prep; //將head放到最後
prep = curp;
curp = nextp;
nextp = nextp->next;
執行一次**後得到:![](https://pic.w3help.cc/370/f8440c513e6631b1b70e3f8167578.jpeg)
leetcode完整**:
class solution
headp->next=prep;
return headp;}};
Leetcode鍊錶刷題之 206 反轉鍊錶
反轉乙個單鏈表。示例 輸入 1 2 3 4 5 null 輸出 5 4 3 2 1 null 高階 你可以迭代或遞迴地反轉鍊錶。你能否用兩種方法解決這道題?解題思路 原地旋轉鍊錶,可以構建兩個指標,乙個指向當前結點的前乙個,乙個指向當前的結點,每次迴圈的時候,找到當前鍊錶的下乙個,在翻轉的過程中,將...
LeetCode 反轉鍊錶
反轉乙個單鏈表。示例 輸入 1 2 3 4 5 null 輸出 5 4 3 2 1 null高階 你可以迭代或遞迴地反轉鍊錶。你能否用兩種方法解決這道題?思路 雙指標,先用乙個指標算出鍊錶結點個數n,每次快指標從頭往先前移動n 步,慢指標往前移動1步進行交換即可。definition for sin...
LeetCode 反轉鍊錶
反轉乙個單鏈表。示例 輸入 1 2 3 4 5 null 輸出 5 4 3 2 1 null 思路分析 直接一趟掃瞄即可。方法二 遞迴 definition for singly linked list.struct listnode class solution listnode reversea...