劍指offer(十五)之 反轉鍊錶

2021-09-05 01:38:49 字數 536 閱讀 2836

單鏈表的反轉有兩種方式 這裡講的不錯

核心思想就是

把pcur節點插入到dummy和它的下乙個節點之間(注意是dummy.next 不是prev),然後pcur向後推。

分四步實現

第一步:為pcur的離開做準備,不然後面就丟了

prev.next = pcur.next ;

可以看到,prev一直都是原來的head

**:

public listnode reverselist(listnode head) 

return dummy.next;

}

比較容易理解,看**就好了

**:

public listnode reverselist(listnode head) 

return dummy.next;

}

劍指offer(十五) 反轉鍊錶

題目描述 輸入乙個鍊錶,反轉鍊錶後,輸出新鍊錶的表頭。題解 簡單一點的思路就是將該鍊錶的值用陣列或棧儲存下來,然後用一條新鍊錶儲存下來即可實現反轉。但是這種方法會消耗額外的空間,不是好方法。一解 public static listnode reverselist listnode head sta...

劍指Offer(十五) 反轉鍊錶

本系列文章為 劍指offer 刷題筆記。刷題平台 牛客網 輸入乙個鍊錶,反轉鍊錶後,輸出鍊錶的所有元素。這個很簡單,我們使用三個指標,分別指向當前遍歷到的結點 它的前乙個結點以及後乙個結點。include using namespace std typedef struct node node,li...

劍指offer之反轉鍊錶

題目介紹 輸入乙個鍊錶,反轉鍊錶後,輸出鍊錶的所有元素。題目比較簡短,所以直接上 public class listnode public class solution listnode curnode head.next head.next null listnode resultnode hea...