leetcode刷題總結 101-200

101Symmetric Tree

二叉樹是否對稱

102Binary Tree Level Order Traversal

獲取二叉樹的每一層

103Binary Tree Zigzag Level Order Traversal

獲取二叉樹的每一層,先是從左到右,然後從右到左,然後從左到右。。。

104Maximum Depth of Binary Tree

二叉樹的最大深度

105Construct Binary Tree from Preorder and Inorder Traversal

已知先序和中序 構造二叉樹

106Construct Binary Tree from Inorder and Postorder Traversal

已知中序和後序 構造二叉樹

107Binary Tree Level Order Traversal II

獲取二叉樹的每一層,相比102 是從低往上一層一層

108Convert Sorted Array to Binary Search Tree

將有序數組轉成平衡二叉樹,深度不能超過1 對半分遞歸

109Convert Sorted List to Binary Search Tree

相比上一題 換成了鏈表,不能使用數組的下標,

可以遞歸下去,先給左子樹賦值,然後root節點,然後右子樹,也是中序遍歷的思想

110Balanced Binary Tree

判斷是否是平衡二叉樹

111Minimum Depth of Binary Tree

二叉樹根距離葉子節點最近的距離

112Path Sum

確定是否有一條從根到葉子節點的路徑,和加起來等於sum

113Path Sum II

相比上題要輸出結果

114Flatten Binary Tree to Linked List

先序遍歷二叉樹 非遞歸方式 用棧

115Distinct Subsequences

dp

116Populating Next Right Pointers in Each Node

將二叉樹每一層設置next指針

117Populating Next Right Pointers in Each Node II

將二叉樹每一層設置next指針 不是完美二叉樹

118Pascal's Triangle

打印楊輝三角

119Pascal's Triangle II

打印楊慧三角第k行

120Triangle

求三角從上往下經過的和最小的路徑

121Best Time to Buy and Sell Stock

求最大的a[j]-ap[i] 滿足 j>i,遍歷吧最小值保存下來

122Best Time to Buy and Sell Stock II

 相比上題可以交易無數次,但是必須先賣掉再買 貪心

123Best Time to Buy and Sell Stock III

相比上次只能交易2次

可以左右掃2次 記錄dp[i] 爲從1 - i位置 一次交易的最大值,然後從右往左也求一次

124Binary Tree Maximum Path Sum

dp

125Valid Palindrome

判斷是否迴文 不考慮大小寫 只考慮字母數字

126Word Ladder II

相比下一題,需要打印所有結果

127Word Ladder

最短路 bfs 每次可以改變一個字符,改變後的單詞必須在列表中存在 求最少轉換次數

128Longest Consecutive Sequence

無序數字 求最大連續序列 複雜度要求n

129Sum Root to Leaf Numbers

所有根到葉子結點組組成的數字相加

130Surrounded Regions

給一個二維的矩陣,包含 'X' 和 'O', 找到所有被 'X' 圍繞的區域,並用 'X' 填充滿。

除了邊界的o連通的o不能變成x 其他都可以,dfs即可 可以用並查集

131Palindrome Partitioning

分隔字符串使得每一個子串都是迴文串

132Palindrome Partitioning II

分隔字符串使得每一個子串都是迴文串,求最少切割次數 區間dp

133Clone Graph

圖的複製 bfs

134Gas Station
有N個加油站點構成一個環狀,每個站點ii加油量爲gas[i]gas[i],從站點ii到站點i+1i+1需要耗費有兩爲cost[i]cost[i],現要求從哪個站點出發可以成功轉一圈回到初始站點,返回該站點,若沒有則返回-1;

類似於最大連續和

135Candy

每個人都有一個值,每個人都必須給一顆糖,值大的給的糖要比值小的多

求最少要給多少糖

136Single Number

每個數字出現2次 只有一個數字出現1次,求哪個數

137Single Number II

每個數字出現3次 只有一個數字出現1次,求哪個數

138Copy List with Random Pointer

一個單鏈表,包含一個指向任意節點或null的指針 返回這個鏈表的深拷貝

139Word Break

分隔字符串,每一個子串都要求在字典中 字典樹+dp

140Word Break II

相比上一題需要輸出所有解

141Linked List Cycle

鏈表判環

142Linked List Cycle II

鏈表判環找出環的起始點

143Reorder List

鏈表重新排序

 L0L1→…→Ln-1Ln,

L0LnL1Ln-1L2Ln-2→…

144Binary Tree Preorder Traversal

二叉樹先序遍歷 非遞歸 用棧

145Binary Tree Postorder Traversal

二叉樹後序遍歷 非遞歸

146LRU Cache

設計lru緩存

147Insertion Sort List

用插入排序實現鏈表的排序

148Sort List

使用nlogn的複雜度和常量的空間實現鏈表的排序 可以使用歸併排序

149Max Points on a Line

有n個點,求在一條直線上最大的點數 遍歷每個點 記錄每個點 然後斜率爲k的直線上的點數

150Evaluate Reverse Polish Notation

逆波蘭表達式

151Reverse Words in a String

反轉單詞 不用額外空間 模擬

152Maximum Product Subarray

最大連續乘積子數組 dp 維護最大值和最小值

153Find Minimum in Rotated Sorted Array

有序數組翻轉過的 求最小值 二分

154Find Minimum in Rotated Sorted Array II

相比上一題 會有重複的值

155Min Stack

維護一個棧 可以在常量時間獲取棧中的最小值 維護2個棧,另外一個棧的 棧頂表示棧中的最小值

160Intersection of Two Linked Lists

判斷鏈表是否相交,得到2個鏈表的長度 長的先走幾步 然後一起走 判斷是否同一個點

還有一種很奇妙的方法,就是2個指針分別走a b2個鏈表,其中一個走完走另外一個

162Find Peak Element

一個數組相鄰兩個值都不相等,求出某個峯值

164Maximum Gap

給出一個無需數組 求這個數組排序之後相鄰2個元素查的最大值 時間複雜度要求線性

桶排序 好題

165Compare Version Numbers

比較數字,數字有很多段,0.1 < 1.1 < 1.2 < 13.37

166Fraction to Recurring Decimal

表示小數 找循環節,找到循環用括號包起來

167Two Sum II - Input array is sorted

一個有序數組找到2個數,使得和等於target

168Excel Sheet Column Title

將數字轉成AAB這種26進制的形式

169Majority Element

每找出兩個不同的element,就成對刪除即count--,最終剩下的一定就是所求的。時間複雜度:O(n)

171Excel Sheet Column Number

168題的逆操作

172Factorial Trailing Zeroes

求n!階乘後面有多少0

173Binary Search Tree Iterator

實現二叉查找樹的迭代器;

如題目描述,迭代器包括hasNext()和next()兩個函數,其中hasNext()函數判斷是否還有下一節點,next()函數返回節點元素值;且遍歷順序按照元素遞增方式;



174Dungeon Game



179Largest Number


187Repeated DNA Sequences

找出所有長度爲10,在主串重複出現的字符串

188Best Time to Buy and Sell Stock IV


189Rotate Array

將數組右移k位


190Reverse Bits

將二進制數倒過來

191Number of 1 Bits

logn複雜度 位運算 >> 老問題了

198House Robber

這是一個很經典的動態規劃的題目,意思是一個盜賊要偷盜一條街道上的店鋪。唯一的限制就是不能同時偷盜連續的兩家店鋪,否則的話報警器就會被觸發,求在不觸發警報的情況下該盜賊可偷盜的最多金錢數。

199Binary Tree Right Side View

二叉樹右視圖

200Number of Islands

找有幾個連通塊

204Count Primes

acm搞過的素數篩選,只記得最low的nlogn的,其他效率更高的都記不清了,線性篩

222Count Complete Tree Nodes

求完全二叉樹節點數

225Implement Stack using Queues

用隊列模擬棧

171Excel Sheet Column Number
172Factorial Trailing Zeroes
173Binary Search Tree Iterator
179Largest Number
174Dungeon Game
200Number of Islands
198House Robber
190Reverse Bits
187Repeated DNA Sequences
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章