很久沒寫刷題筆記了,簡單小結一下這一週多的結果:目前已刷63道,平均一天4-5道,主刷easy題。tree部分的easy作了一大半,hash table的easy作了一半左右,linkedlist部分easy題基本作完,如今再按題號順序跳着作。基本每道題都在leetcode自帶的note上作了筆記,並從前天開始記錄天天刷題進度,因此這個博客就有點多餘了。應該不會再像以前那樣把每道題都po上來,可是會用它來作一段時間的刷題總結或者記錄一些須要掌握的知識點之類的。 須要掌握的一些基本操做(想到哪寫到哪): 1. 把list轉成數組 2. 把string轉成字符數組: str.toCharArray() 3. 把字符數組轉成string: String.valueOf(ch) 4. 遍歷一個string裏的每一個substring(brute force的算法須要用到) 5. 把integer反轉(考慮溢出問題) 6. 由5引伸來的:判斷一個數是否palindromic 7. 判斷兩數組是否相同: Arrays.equals(a1, a2) 8. 判斷兩字符串是否相同: str1.equals(str2) 9. 判斷字符串是否爲空: str.isEmpty() 10. 求鏈表長度 11. 找到index爲i的節點(刪除,插入) 12. 刪除某節點的兩個方法: 1.找前一個節點使prev.next = prev.next.next;注意:當須要刪除第一個節點時能夠在 linkedlist前加一個dummynode 2.改變須要刪除的節點的值並刪除下一個:del.val = del.next.val; del.next = del.next.next;注意:這種方法不能刪除最後一個節點 截止01/18/2019已經刷了119道了,開學以後平均一天兩道且多爲hard。昨天作了32一、Create Maximum Number,總結一下須要記住的知識: 1. 從一個數組中選出k個數,且保持它們在數組中的相對位置所能組成最大的數 2. 合併兩個數組,且保持它們在各自數組中的相對位置所能組成的最大的數