Leet Code演算法題(反轉鍊錶)

2021-09-28 22:44:37 字數 708 閱讀 8866

c++解題思路,如何反轉乙個鍊錶

head放到最後一位 -->head->next作為head–>重複操作

看**:

首先這是乙個鍊錶

定義幾個指標

listnode *prep= null, *curp = head, *nextp=head->next;
然後執行**:

curp->next = prep; //將head放到最後

prep = curp;

curp = nextp;

nextp = nextp->next;

執行一次**後得到:

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...