目錄

字符串

題目 內容 解法
3 Longest Substring Without Repeating Characters 無重復字符的最長子串 [m] 兩個指針咨油,滑動窗口
22 Generate Parentheses 有效括號數目[m] 回溯
415 Add Strings 字符串相加[e] 逐個相加
43 Multiply Strings 字符串相乘[m] 逐個相乘的方法
937 Reorder Data in Log Files 重新排列日志文件 split_join_localeCompare
20 Valid Parentheses 判斷有效括號[e] stack map
76 minimum Window Substring 尋找包含一個字符串中所有字符的最小子串[h] 滑動窗口法
151 Reverse Words in a String 反轉字符串單詞[m] api_正則
468 Validate IP Address 驗證IP的有效性[m] 正則_遍歷

js數據結構

題目 內容 解法
146 LRU Cache 實現LRU緩存[e] map_雙向鏈表+hash
69 Sqrt(x) 求根號x [e] 對數二分牛頓

動態(tài)規(guī)劃

題目 內容 解法
5 Longest Palindromic Substring 求字符串的最長回文串 expandRoundCenter or dp
10 Regular Expression Matching
32 Longest Valid Parentheses
42 Trapping Rain Water 接雨水[h] dp 存儲元素左邊的最大值和右邊的最大值悠栓,雙指針
44 Wildcard Matching
53 Maximum Subarray 求子數組的最大和[e] 一維數組動態(tài)規(guī)劃
62 Unique Paths 不同路徑 [m] dp_組合數學
63 Unique Paths II
64 Minimum Path Sum 二維數組的最短路徑 動態(tài)規(guī)劃累加實現
70 Climbing Stairs 小青蛙爬樓梯多少種可能 動態(tài)規(guī)劃與矩陣快速冪求解粉洼?
72 Edit Distance
85 Maximal Rectangle
87 Scramble String
91 Decode Ways 數字解碼為字符串的可能情況 各種情況下的遞推關系颖榜,動態(tài)規(guī)劃
97 Interleaving String
115 Distinct Subsequences
120 Triangle
121 Best Time to Buy and Sell Stock 數組最大差值(股票最大收益) 動態(tài)規(guī)劃
Best Time to Buy and Sell Stock III

二叉樹

題目 內容 解法
94 Binary Tree Inorder Traversal 中序遍歷 維護棧,push_l.else_pop_r
95 Unique Binary Search Trees II 升序數組可生成的BST數組[m] 遞歸
96 Unique Binary Search Trees 有序數組可生成的BST個數[m] 動態(tài)規(guī)劃
98 Validate Binary Search Tree 是否 BST[m] 遞歸.中序遍歷
99 Recover Binary Search Tree 恢復BST[h] 中序遍歷_交換
100 Same Tree 兩個樹是否是同一個樹[e] 遞歸
101 Symmetric Tree 二叉樹是否對稱[e] 遞歸
102 Binary Tree Level Order Traversal 層序遍歷[m] 隊列實現
103 Binary Tree Zigzag Level Order Traversal z形層序遍歷[m] 偶數行翻轉
104 Maximum Depth of Binary Tree 二叉樹深度[e] 遞歸
105 Construct Binary Tree from Preorder and Inorder Traversal 根據前序遍歷和中序遍歷構造二叉樹[m] 遞歸實現
106 Construct Binary Tree from Inorder and Postorder Traversal 中序和后序遍歷重建二叉樹[m] 遞歸
107 Binary Tree Level Order Traversal II 底部層序遍歷[e] 層序遍歷后翻轉一下
108Convert Sorted Array to Binary Search Tree 升序數組轉換成高度平衡 BST[e] 遞歸_切分
109 Convert Sorted List to Binary Search Tree
110 Balanced Binary Tree 是否平衡二叉樹[e] 遞歸
111 Minimum Depth of Binary Tree 二叉樹最小深度[e] 遞歸
112Path Sum 是否根節(jié)點到葉節(jié)點所有數字和等于給定值[e] 遞歸
113 Path Sum II 和為指定值的二叉樹路徑數組[m] 回溯pop
114 Flatten Binary Tree to Linked List 攤平 BST 左子樹右子節(jié)點=根節(jié)點右節(jié)點
116 Populating Next Right Pointers in Each Node 二叉樹next指向右邊節(jié)點[m] 遞歸
117 Populating Next Right Pointers in Each Node II 沒有通過 遞歸實現
124 Binary Tree Maximum Path Sum 二叉樹最大路徑和 [h] 遞歸,r_r.val+max
144 Binary Tree Preorder Traversal 前序遍歷 維護棧拍摇,pop_r_l
145 Binary Tree Postorder Traversal 后序遍歷 維護棧亮钦,pop_unshift_l_r
199 Binary Tree Right Side View 二叉樹右視圖[m] 層序遍歷
226 Invert Binary Tree 二叉樹翻轉[e] 遞歸實現與迭代實現
129 Sum Root to Leaf Numbers 所有根節(jié)點到葉子節(jié)點組成的數字之和[m] 深度優(yōu)先遍歷& 回溯
173 Binary Search Tree Iterator 二叉搜索樹迭代器[m f101] 中序遍歷或者generator實現
236 Lowest Common Ancestor of a Binary Tree 最近公共祖先[m] 判決條件_dfs
297 Serialize and Deserialize Binary Tree 二叉樹序列化與反序列化[h] bfs_輸出字符串_轉成樹
450 Delete Node in a BST 刪除二叉樹的節(jié)點[m] 前驅_后繼節(jié)點遍歷
543 Diameter of Binary Tree 二叉樹的直徑[m] dfs 遞歸
700 Search in a Binary Search Tree bst查找元素[e] 遞歸/迭代

數組

題目 內容 解法
1 Two Sum 數組中兩個和等于指定值的索引[e] hash
4 Median of Two Sorted Arrays 兩個有序數組的中位數[h] 合并兩個有序數組類似解法
11 Container With Most Water 容器最大裝水數[e] 雙指針法
15 3Sum 數組中三個元素和為0[m] 排序+雙指針
26 Remove Duplicates from Sorted Array 移除數組中重復元素 雙指針
31 Next Permutation 全排列的下一個升序元素 [m] 從右找到第一對升序元素交換
33 Search in Rotated Sorted Array 搜索旋轉排序數組[m] 二分法變形
34 Find First and Last Position of Element in Sorted Array
41 First Missing Positive 找到遺失的正數[h]未解決 更改數組實現
46 Permutations 全排列[m] 回溯_交換_flag
48 Rotate Image 旋轉二維數組[m] 尋找遞歸關系
53 Maximum Subarray 求一個數組的最大連續(xù)子數組和[e] dp
54 Spiral Matrix 順時針輸出數組元素[m] 旋轉_指針
56 Merge Intervals 合并間隔[m] 排序_for_of
59 Spiral Matrix II 生成順時針數組[m] 指針
74 Search a 2D Matrix 二維數組中查找元素[m] 行列合并后二分
79 Word Search 單詞是否連續(xù)出現在網格中[m] 回溯法
80 Remove Duplicates from Sorted Array II 以指定數目移除有序數組中的重復元素 雙指針法
81 Search in Rotated Sorted Array II
88 Merge Sorted Array 合并兩個有序數組 尾部指針法
89 Gray Code 格雷編碼[m] 動態(tài)規(guī)劃_異或計算
118 Pascal's Triangle 楊輝三角[e] 遍歷2次
119 Pascal's Triangle II 楊輝三角變形[e] 兩個數組遍歷
128 Longest Consecutive Sequence 最長連續(xù)序列[h] map實現
200 Number of Islands 求孤島數目[m] dfs
207 Course Schedule 是否能夠完成課程學習[m] 圖_bfs_dfs
210 Course Schedule II 課程表的可能[m] 圖_bfs_dfs
215 Kth Largest Element in an Array 選擇數組中第k大元素 建堆與部分快速排序
238 Product of Array Except Self 數組除自身元素的乘積[m] triple / 自身
240 Search a 2D Matrix II 二維矩陣查找[m] 左下角search
253 Meeting Rooms II 合并間隔[m] 分離排序判決
287 Find the Duplicate Number 找到數組中的重復元素[m] 二分按位與快慢指針
295 Find Median from Data Stream 尋找數據流的中位數[h] 二分_建堆
300 Longest Increasing Subsequence 最長升序數組[m] [dp_二分/di
349 Intersection of Two Arrays 兩個數組的重復數組[e] 兩個集合
362 Design Hit Counter 設計計數器[m] queue,兩個數組
384 Shuffle an Array 打亂數組[m] 隨機下標交換
493 Median of Two Sorted Arrays 求數組逆序對[m] 歸并
912 Sort an Array 數組排序 各排序算法及復雜度分析
560 Subarray Sum Equals K 和為k的連續(xù)子數組數目[m] 前綴和_map(0,1)

鏈表

題目 內容 解法
2 Add Two Numbers 鏈表相加 直接相加, dummy標志
19 Remove Nth Node From End of List
21 Merge Two Sorted Lists 直接比較
23 Merge k Sorted Lists k個有序鏈表合并 兩個有序連接進行分治或遍歷
25 Reverse Nodes in k-Group k個一組反轉鏈表[m] 以反轉鏈表為基礎做遍歷
61 Rotate List
82 Remove Duplicates from Sorted List II
83 Remove Duplicates from Sorted List
86 Partition List
92. Reverse Linked List II 在指定區(qū)間內反轉鏈表 指針
109 Convert Sorted List to Binary Search Tree
114 Flatten Binary Tree to Linked List
138 Copy List with Random Pointer 復制一個帶有隨機指針的鏈表[m] map保存復制過的節(jié)點
141 Linked List Cycle
142 Linked List Cycle II
148 Sort List 鏈表排序[m] 歸并排序
160 Intersection of Two Linked Lists
206 Reverse Linked List 翻轉鏈表 臨時變量法
328 Odd Even Linked List

動態(tài)規(guī)劃的思想

動態(tài)規(guī)劃算法的基本思想:將待求解的問題分解成若干個相互聯系的子問題,先求解子問題充活,然后從這些子問題的解得到原問題的解蜂莉,對于重復出現的子問題,只在第一次遇到的時候對它進行求解堪唐,并存下巡语,求解問題的時候直接讀取。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
  • 序言:七十年代末淮菠,一起剝皮案震驚了整個濱河市男公,隨后出現的幾起案子,更是在濱河造成了極大的恐慌合陵,老刑警劉巖枢赔,帶你破解...
    沈念sama閱讀 218,451評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現場離奇詭異拥知,居然都是意外死亡踏拜,警方通過查閱死者的電腦和手機,發(fā)現死者居然都...
    沈念sama閱讀 93,172評論 3 394
  • 文/潘曉璐 我一進店門低剔,熙熙樓的掌柜王于貴愁眉苦臉地迎上來速梗,“玉大人,你說我怎么就攤上這事襟齿∫鏊” “怎么了?”我有些...
    開封第一講書人閱讀 164,782評論 0 354
  • 文/不壞的土叔 我叫張陵猜欺,是天一觀的道長位隶。 經常有香客問我,道長开皿,這世上最難降的妖魔是什么涧黄? 我笑而不...
    開封第一講書人閱讀 58,709評論 1 294
  • 正文 為了忘掉前任,我火速辦了婚禮赋荆,結果婚禮上笋妥,老公的妹妹穿的比我還像新娘。我一直安慰自己糠睡,他們只是感情好挽鞠,可當我...
    茶點故事閱讀 67,733評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著狈孔,像睡著了一般信认。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上均抽,一...
    開封第一講書人閱讀 51,578評論 1 305
  • 那天嫁赏,我揣著相機與錄音,去河邊找鬼油挥。 笑死潦蝇,一個胖子當著我的面吹牛,可吹牛的內容都是我干的深寥。 我是一名探鬼主播攘乒,決...
    沈念sama閱讀 40,320評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼惋鹅!你這毒婦竟也來了则酝?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 39,241評論 0 276
  • 序言:老撾萬榮一對情侶失蹤闰集,失蹤者是張志新(化名)和其女友劉穎沽讹,沒想到半個月后,有當地人在樹林里發(fā)現了一具尸體武鲁,經...
    沈念sama閱讀 45,686評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡爽雄,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,878評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現自己被綠了沐鼠。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片挚瘟。...
    茶點故事閱讀 39,992評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖饲梭,靈堂內的尸體忽然破棺而出乘盖,到底是詐尸還是另有隱情,我是刑警寧澤排拷,帶...
    沈念sama閱讀 35,715評論 5 346
  • 正文 年R本政府宣布侧漓,位于F島的核電站,受9級特大地震影響监氢,放射性物質發(fā)生泄漏布蔗。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,336評論 3 330
  • 文/蒙蒙 一浪腐、第九天 我趴在偏房一處隱蔽的房頂上張望纵揍。 院中可真熱鬧,春花似錦议街、人聲如沸泽谨。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,912評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽吧雹。三九已至骨杂,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間雄卷,已是汗流浹背搓蚪。 一陣腳步聲響...
    開封第一講書人閱讀 33,040評論 1 270
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留丁鹉,地道東北人妒潭。 一個月前我還...
    沈念sama閱讀 48,173評論 3 370
  • 正文 我出身青樓,卻偏偏與公主長得像揣钦,于是被迫代替她去往敵國和親雳灾。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,947評論 2 355

推薦閱讀更多精彩內容