鏈表
~~~6. 從尾到頭打印鏈表
###18.1 在 O(1) 時(shí)間內(nèi)刪除鏈表節(jié)點(diǎn)
? ? 需要分情況衣撬,是否是尾節(jié)點(diǎn)事期、僅僅是尾節(jié)點(diǎn) 還是 既是尾節(jié)點(diǎn)又是頭結(jié)點(diǎn)
###########18.2 刪除鏈表中重復(fù)的結(jié)點(diǎn)
? ? 兩個(gè)指針,同時(shí)向后推進(jìn)或者一個(gè)向后推進(jìn)另一個(gè)不動(dòng)望迎。需要重寫代碼!?蛱颉!
~~~22.鏈表中倒數(shù)第K個(gè)結(jié)點(diǎn)
###23. 鏈表中環(huán)的入口結(jié)點(diǎn)
? ? 最好使用HashSet方便快捷赎婚。 需要重新看一下代碼
###24. 反轉(zhuǎn)鏈表
? ? 注意next指針需要在一開始就存儲(chǔ)下來(lái)刘绣,此題重要,需要重寫代碼U跏洹N撤铩!
###25. 合并兩個(gè)排序的鏈表
? ? 此題重要歧焦,代碼需要復(fù)習(xí)R普丁肚医!
***35. 復(fù)雜鏈表的復(fù)制
? ? 不會(huì)
~~~52. 兩個(gè)鏈表的第一個(gè)公共結(jié)點(diǎn)
? ? 使用棧,或者使用set均可向瓷,需要重看一下代碼
二叉樹
***7. 重建二叉樹
? ? 感覺不重要肠套,也不會(huì),遞歸比較難想猖任,不做了
***8. 二叉樹的下一個(gè)結(jié)點(diǎn)
? ? 感覺不重要你稚,不做了
###26. 樹的子結(jié)構(gòu)
? ? 感覺比較重要,理解遞歸的思想及思路朱躺。重寫代碼5罄怠!长搀!
###27. 二叉樹的鏡像
? ? 遞歸S畛凇!源请!的重要性枪芒。。需要重寫代碼K舅踪!
###28. 對(duì)稱的二叉樹
? ? 與上題對(duì)比,都是用遞歸良蛮,重寫代碼3槁怠!决瞳!
###32.1 從上往下打印二叉樹
? ? 理解隊(duì)列使用货徙,最好重寫一遍代碼
###32.2 把二叉樹打印成多行
? ? 使用queue.size()方法控制每行打印
***32.3 按之字形順序打印二叉樹
? ? 感覺不重要,不做了
###33. 二叉搜索樹的后序遍歷序列
? ? 重要皮胡,二叉樹大都用到遞歸破婆,需要重寫代碼!P卮选!
34. 二叉樹中和為某一值的路徑 ??? ArrayList
54. 二叉查找樹的第k個(gè)結(jié)點(diǎn)
55.1 二叉樹的深度
55.2 平衡二叉樹
36. 二叉搜索樹與雙向鏈表
37. 序列化二叉樹
68. 樹種兩個(gè)節(jié)點(diǎn)的最低公共祖先
查找
~~~4. 二維數(shù)組中的查找
? ? 二維數(shù)組行與列表示
###11. 旋轉(zhuǎn)數(shù)組的最小數(shù)字
? ? 注意二分查找不同條件下high與low的賦值瀑梗。需要理解并重寫代碼烹笔!
###50. 第一個(gè)只出現(xiàn)一次的字符位置
? ? 思路搞清楚,charAt方法以及強(qiáng)制類型轉(zhuǎn)換
###53.1 數(shù)字在排序數(shù)組中出現(xiàn)的次數(shù)
? ? 理解為什么使用二分查找抛丽,理解二分查找變種的編寫
###53.2 0~n-1中缺失的數(shù)
? ? 二分查找的變種谤职,重寫代碼
~~~53.3 數(shù)組中數(shù)值和下標(biāo)相等的元素。
? ? 普通二分查找
排序
###39. 數(shù)組中出現(xiàn)次數(shù)超過一半的數(shù)字
? ? 可以使用hashmap 注意map的遍歷方法亿鲜,需要重寫代碼
###40.最小的K個(gè)數(shù)
? ? 可以使用最小堆允蜈,要注意最小堆的聲明方法
###45. 把數(shù)組排成最小的數(shù)
? ? 理解重寫Collections.sort函數(shù)
數(shù)組
~~~3. 數(shù)組中重復(fù)的數(shù)字
? ? 重寫代碼冤吨,感覺智商收到了侮辱
~~~21. 調(diào)整數(shù)組順序使奇數(shù)位于偶數(shù)前面
? ? 用"&1"判斷是否為奇數(shù),如果&1==1饶套,則為奇數(shù)漩蟆,反之為偶數(shù),看一眼代碼
###42. 連續(xù)子數(shù)組的最大和
? ? 理解算法妓蛮,要加入一個(gè)保存最大值的變量怠李。需要重寫代碼!蛤克!!
###45. 把數(shù)組排成最小的數(shù)
? ? 理解重寫sort函數(shù)捺癞,最好重寫代碼!參考 http://www.reibang.com/p/919a375b063b
***51. 數(shù)組中的逆序?qū)?/p>
? ? 題目不會(huì)构挤,代碼是復(fù)制的髓介。
***56. 數(shù)組中只出現(xiàn)一次的數(shù)字(兩個(gè)數(shù))
? ? 題目較難,代碼是復(fù)制的筋现。
###57.1 和為S的兩個(gè)數(shù)字
? ? 注意思路唐础,以及循環(huán)終止條件
###57.2 和為S的連續(xù)正數(shù)序列
? ? 體會(huì)滑動(dòng)窗口的思路,需要重寫代碼7蚍瘛3估纭!
棧和隊(duì)列
9. 用兩個(gè)棧實(shí)現(xiàn)隊(duì)列
30. 包含 min 函數(shù)的棧
31. 棧的壓入彈出序列
59. 隊(duì)列的最大值
字符串
5. 替換空格
46. 把數(shù)字翻譯成字符串 凰慈?汞幢??
58.1 翻轉(zhuǎn)單詞順序列
58.2 左旋轉(zhuǎn)字符串
67. 把字符串轉(zhuǎn)換成整數(shù)
遞歸
10.1 斐波那契數(shù)列
10.2 矩形覆蓋(貼瓷磚)
10.3 跳臺(tái)階
10.4 變態(tài)跳臺(tái)階
17. 打印從1到最大的n位數(shù)
19. 正則表達(dá)式的匹配
38. 字符串的排列
位運(yùn)算
15. 二進(jìn)制中1的個(gè)數(shù)
其他
###16. 數(shù)值的整數(shù)次方
? ? 使用連乘方法的時(shí)候注意指數(shù)為負(fù)數(shù)的情況微谓,重新看下代碼森篷。
29. 順時(shí)針打印矩陣
43. 從1-n整數(shù)中1出現(xiàn)的次數(shù)
49. 丑數(shù)
2. 實(shí)現(xiàn)singleton函數(shù)
20. 表示數(shù)值的字符串
44. 數(shù)字序列中某一位的數(shù)字
48. 最長(zhǎng)不含重復(fù)字符的字符串
50. 第一個(gè)只出現(xiàn)一次的字符
60. n個(gè)骰子的點(diǎn)數(shù)
61. 撲克牌中的順子
62. 圓圈中最后剩下的數(shù)字
63. 股票的最大利潤(rùn)
64. 求1+2+3+...+n
65. 不用加減乘除做加法
66. 構(gòu)建乘積數(shù)組
回溯法
12. 矩陣中的路徑
13. 機(jī)器人的運(yùn)動(dòng)范圍
動(dòng)態(tài)規(guī)劃
14. 剪繩子
42. 連續(xù)子數(shù)組的最大和
47. 禮物的最大價(jià)值
堆
41. 數(shù)據(jù)流中的中位數(shù)