劍指offer刷題 JZ15 反轉鍊錶

2021-10-23 17:24:13 字數 936 閱讀 1859

2、**實現

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

時間複雜度為:o(n);

空間複雜度為:o(1);

下面分別給出三種方法的**實現。

作為學習,最好看了上面的思路後,自己去實現**,學習效果更好。

public

class

solution

listnode newhead = null;if(

!temp.

empty()

) newhead = temp.

pop();

listnode cur = newhead;

while

(!temp.

empty()

) cur.next = null;

//這一句是必要的,因為原來的頭節點的next是指向第二個結點的,

//若不將其複製為null,得到的反轉鍊錶最後部分將是兩個結點的不斷迴圈

return newhead;

}

public

class

solution

public

class

solution

return pre;

}

劍指offer刷題 15

面試題29 順時針列印矩陣 輸入乙個矩陣,按照從外向裡以順時針的順序依次列印出每乙個數字。void printmatrixcloockwisely int numbers,int columns,int rows void printmatrixincircle int numbers,int co...

劍指offer 題15(反轉鍊錶)

反轉鍊錶 輸入乙個鍊錶,反轉鍊錶後,輸出新鍊錶的表頭。coding utf 8 class listnode def init self,x self.val x self.next none class solution 返回listnode defreverselist self,phead w...

劍指offer刷題

面試題6 從尾到頭列印鍊錶 struct listnode class solution reverse res.begin res.end return res 替換空格class solution int newnumstr numstr numspace 2 if newnumstr leng...