劍指Offer 15 反轉鍊錶

2022-09-05 10:09:10 字數 464 閱讀 3994

題目描述:

輸入乙個鍊錶,反轉鍊錶後,輸出新鍊錶的表頭。

解題思路:

本題比較簡單,有兩種方法可以實現:(1)三指標。使用三個指標,分別指向當前遍歷到的結點、它的前乙個結點以及後乙個結點。將指標反轉後,三個結點依次前移即可。(2)遞迴方法。同樣可以採用遞迴來實現反轉。將頭結點之後的鍊錶反轉後,再將頭結點接到尾部即可。

程式設計實現(j**a):

//方法一:三指標

public listnode reverselist(listnode head)

second.next=first;

return second;

}//方法二:遞迴

public listnode reverselist(listnode head)

劍指offer 15 反轉鍊錶

輸入乙個鍊錶,反轉鍊錶後,輸出鍊錶的所有元素。反轉鍊錶只需改變鏈結方向,改變方向時需要將原本指向後乙個結點的鏈結方向指向前乙個結點,因此需要記錄下三個結點。include using namespace std struct listnode class solution listnode fron...

劍指Offer 15 反轉鍊錶

輸入乙個鍊錶,反轉鍊錶後,輸出鍊錶的所有元素。coding utf 8 class listnode def init self,x self.val x self.next none class solution 返回listnode def reverselist self,phead writ...

劍指offer 15 反轉鍊錶

輸入乙個鍊錶,反轉鍊錶後,輸出鍊錶的所有元素。include using namespace std struct listnode class solution class solution1 return pfront1 else pnode next new listnode num int ...