101. Symmetric Tree
二叉樹是否對稱
102. Binary Tree Level Order Traversal
獲取二叉樹的每一層
103. Binary Tree Zigzag Level Order Traversal
獲取二叉樹的每一層,先是從左到右,然後從右到左,然後從左到右。。。
104. Maximum Depth of Binary Tree
二叉樹的最大深度
105. Construct Binary Tree from Preorder and Inorder Traversal
已知先序和中序 構造二叉樹
106. Construct Binary Tree from Inorder and Postorder Traversal
已知中序和後序 構造二叉樹
107. Binary Tree Level Order Traversal II
獲取二叉樹的每一層,相比102 是從低往上一層一層
108. Convert Sorted Array to Binary Search Tree
將有序數組轉成平衡二叉樹,深度不能超過1 對半分遞歸
109. Convert Sorted List to Binary Search Tree
相比上一題 換成了鏈表,不能使用數組的下標,
可以遞歸下去,先給左子樹賦值,然後root節點,然後右子樹,也是中序遍歷的思想
110. Balanced Binary Tree
判斷是否是平衡二叉樹
111. Minimum Depth of Binary Tree
二叉樹根距離葉子節點最近的距離
112. Path Sum
確定是否有一條從根到葉子節點的路徑,和加起來等於sum
113. Path Sum II
相比上題要輸出結果
114. Flatten Binary Tree to Linked List
先序遍歷二叉樹 非遞歸方式 用棧
115. Distinct Subsequences
dp
116. Populating Next Right Pointers in Each Node
將二叉樹每一層設置next指針
117. Populating Next Right Pointers in Each Node II
將二叉樹每一層設置next指針 不是完美二叉樹
118. Pascal's Triangle
打印楊輝三角
119. Pascal's Triangle II
打印楊慧三角第k行
120. Triangle
求三角從上往下經過的和最小的路徑
121. Best Time to Buy and Sell Stock
求最大的a[j]-ap[i] 滿足 j>i,遍歷吧最小值保存下來
122. Best Time to Buy and Sell Stock II
相比上題可以交易無數次,但是必須先賣掉再買 貪心
123. Best Time to Buy and Sell Stock III
相比上次只能交易2次
可以左右掃2次 記錄dp[i] 爲從1 - i位置 一次交易的最大值,然後從右往左也求一次
124. Binary Tree Maximum Path Sum
dp
125. Valid Palindrome
判斷是否迴文 不考慮大小寫 只考慮字母數字
126. Word Ladder II
相比下一題,需要打印所有結果
127. Word Ladder
最短路 bfs 每次可以改變一個字符,改變後的單詞必須在列表中存在 求最少轉換次數
128. Longest Consecutive Sequence
無序數字 求最大連續序列 複雜度要求n
129. Sum Root to Leaf Numbers
所有根到葉子結點組組成的數字相加
130. Surrounded Regions
給一個二維的矩陣,包含 'X' 和 'O', 找到所有被 'X' 圍繞的區域,並用 'X' 填充滿。
除了邊界的o連通的o不能變成x 其他都可以,dfs即可 可以用並查集
131. Palindrome Partitioning
分隔字符串使得每一個子串都是迴文串
132. Palindrome Partitioning II
分隔字符串使得每一個子串都是迴文串,求最少切割次數 區間dp
133. Clone Graph
圖的複製 bfs
134. Gas Station
有N個加油站點構成一個環狀,每個站點ii加油量爲gas[i]gas[i],從站點ii到站點i+1i+1需要耗費有兩爲cost[i]cost[i],現要求從哪個站點出發可以成功轉一圈回到初始站點,返回該站點,若沒有則返回-1;
類似於最大連續和
135. Candy
每個人都有一個值,每個人都必須給一顆糖,值大的給的糖要比值小的多
求最少要給多少糖
136. Single Number每個數字出現2次 只有一個數字出現1次,求哪個數
137. Single Number II
每個數字出現3次 只有一個數字出現1次,求哪個數
138. Copy List with Random Pointer
一個單鏈表,包含一個指向任意節點或null的指針 返回這個鏈表的深拷貝
139. Word Break
分隔字符串,每一個子串都要求在字典中 字典樹+dp
140. Word Break II
相比上一題需要輸出所有解
141. Linked List Cycle
鏈表判環
142. Linked List Cycle II
鏈表判環找出環的起始點
143. Reorder List
鏈表重新排序
L0→L1→…→Ln-1→Ln,
L0→Ln→L1→Ln-1→L2→Ln-2→…
144. Binary Tree Preorder Traversal
二叉樹先序遍歷 非遞歸 用棧
145. Binary Tree Postorder Traversal
二叉樹後序遍歷 非遞歸
146. LRU Cache
設計lru緩存
147. Insertion Sort List
用插入排序實現鏈表的排序
148. Sort List
使用nlogn的複雜度和常量的空間實現鏈表的排序 可以使用歸併排序
149. Max Points on a Line
有n個點,求在一條直線上最大的點數 遍歷每個點 記錄每個點 然後斜率爲k的直線上的點數
150. Evaluate Reverse Polish Notation
逆波蘭表達式
151. Reverse Words in a String
反轉單詞 不用額外空間 模擬
152. Maximum Product Subarray
最大連續乘積子數組 dp 維護最大值和最小值
153. Find Minimum in Rotated Sorted Array
有序數組翻轉過的 求最小值 二分
154. Find Minimum in Rotated Sorted Array II
相比上一題 會有重複的值
155. Min Stack
維護一個棧 可以在常量時間獲取棧中的最小值 維護2個棧,另外一個棧的 棧頂表示棧中的最小值
160. Intersection of Two Linked Lists
判斷鏈表是否相交,得到2個鏈表的長度 長的先走幾步 然後一起走 判斷是否同一個點
還有一種很奇妙的方法,就是2個指針分別走a b2個鏈表,其中一個走完走另外一個
162. Find Peak Element
一個數組相鄰兩個值都不相等,求出某個峯值
164. Maximum Gap
給出一個無需數組 求這個數組排序之後相鄰2個元素查的最大值 時間複雜度要求線性
桶排序 好題
165. Compare Version Numbers
比較數字,數字有很多段,0.1 < 1.1 < 1.2 < 13.37
166. Fraction to Recurring Decimal
表示小數 找循環節,找到循環用括號包起來
167. Two Sum II - Input array is sorted
一個有序數組找到2個數,使得和等於target
168. Excel Sheet Column Title
將數字轉成AAB這種26進制的形式
169. Majority Element
每找出兩個不同的element,就成對刪除即count--,最終剩下的一定就是所求的。時間複雜度:O(n)171. Excel Sheet Column Number
168題的逆操作
172. Factorial Trailing Zeroes
求n!階乘後面有多少0
173. Binary Search Tree Iterator
實現二叉查找樹的迭代器;
如題目描述,迭代器包括hasNext()和next()兩個函數,其中hasNext()函數判斷是否還有下一節點,next()函數返回節點元素值;且遍歷順序按照元素遞增方式;
187. Repeated DNA Sequences
找出所有長度爲10,在主串重複出現的字符串
188. Best Time to Buy and Sell Stock IV
將數組右移k位
將二進制數倒過來
191. Number of 1 Bits
logn複雜度 位運算 >> 老問題了
198. House Robber
這是一個很經典的動態規劃的題目,意思是一個盜賊要偷盜一條街道上的店鋪。唯一的限制就是不能同時偷盜連續的兩家店鋪,否則的話報警器就會被觸發,求在不觸發警報的情況下該盜賊可偷盜的最多金錢數。
199. Binary Tree Right Side View
二叉樹右視圖
200. Number of Islands
找有幾個連通塊
204. Count Primes
acm搞過的素數篩選,只記得最low的nlogn的,其他效率更高的都記不清了,線性篩
222. Count Complete Tree Nodes
求完全二叉樹節點數
225. Implement Stack using Queues
用隊列模擬棧