反轉乙個單鏈表。
示例:
輸入: 1->2->3->4->5->null
輸出: 5->4->3->2->1->null
高階:
你可以迭代或遞迴地反轉鍊錶。你能否用兩種方法解決這道題?
方法一:
通過記錄前乙個節點的值並通過指標不斷移動的方式
時間複雜度為o(n),假設n是列表的長度,時間複雜度是o(n)
空間複雜度為o(1)
/**
* definition for singly-linked list.
* public class listnode
* }*/class solution
return pre;
}}
方法二、
通過遞迴的方式:
時間複雜度為o(n).假設n是列表的長度,那麼時間複雜度為o(n)
空間複雜度:o(n)。由於使用遞迴,將會使用隱式棧空間。遞迴深度可能會達到n層。
/**
* definition for singly-linked list.
* public class listnode
* }*/class solution
}
騰訊精選練習題30 整數反轉
給出乙個 32 位的有符號整數,你需要將這個整數中每位上的數字進行反轉。示例 1 輸入 123 輸出 321示例 2 輸入 123 輸出 321示例 3 輸入 120 輸出 21注意 假設我們的環境只能儲存得下 32 位的有符號整數,則其數值範圍為 231,231 1 請根據這個假設,如果反轉後整數...
騰訊精選練習題34 旋轉鍊錶
給定乙個鍊錶,旋轉鍊錶,將鍊錶每個節點向右移動 k 個位置,其中 k 是非負數。示例 1 輸入 1 2 3 4 5 null,k 2輸出 4 5 1 2 3 null解釋 向右旋轉 1 步 5 1 2 3 4 null 向右旋轉 2 步 4 5 1 2 3 null示例 2 輸入 0 1 2 nul...
騰訊精選練習題19 環形鍊錶
給定乙個鍊錶,判斷鍊錶中是否有環。為了表示給定鍊錶中的環,我們使用整數pos來表示鍊錶尾連線到鍊錶中的位置 索引從 0 開始 如果pos是 1,則在該鍊錶中沒有環。示例 1 輸入 head 3,2,0,4 pos 1 輸出 true 解釋 鍊錶中有乙個環,其尾部連線到第二個節點。示例 2 輸入 he...