反轉鍊錶
反轉乙個單鏈表。
示例:
輸入: 1->2->3->4->5->null
輸出: 5->4->3->2->1->null
解題思路(參考題解)
迭代三個結點:pre,cur,tmp
主要翻轉pre,cur,tmp儲存值
public listnode reverselist
(listnode head)
return pre;
}
遞迴
cur最後乙個結點時返回
public listnode reverselist
(listnode head)
//cur是最後乙個結點
listnode cur=
reverselist
(head.next)
;//4->5變成5->4
head.next.next=head;
//防止鍊錶迴圈,將head.next設定為空
head.next=null;
//每層遞迴都返回cur,最後乙個結點
return cur;
}
今天不想肝了,放假,放假 06Leetcode每日一題 字串壓縮
漏了好幾天打卡,心痛。字串壓縮。利用字元重複出現的次數,編寫一種方法,實現基本的字串壓縮功能。比如,字串aabcccccaaa會變為a2b1c5a3。若 壓縮 後的字串沒有變短,則返回原先的字串。你可以假設字串中只包含大小寫英文本母 a至z 示例1 輸入 aabcccccaaa 輸出 a2b1c5a...
鍊錶 06 鏈式棧
鏈式棧類 template class chainstack chainstack bool isempty const 判斷鏈式棧是否為空 type top const 取棧頂元素 void push const type e 向棧頂插入元素 void pop 刪除棧頂元素 void makeem...
leetcode 鍊錶 回文鍊錶
請判斷乙個鍊錶是否為回文鍊錶。示例 1 輸入 1 2 輸出 false 示例 2 輸入 1 2 2 1 輸出 true 高階 你能否用 o n 時間複雜度和 o 1 空間複雜度解決此題?head null 空鍊錶,回文,返回true head.next null 只有乙個節點的列表,回文,返回tru...