Skip to content

Latest commit

 

History

History
22809 lines (20426 loc) · 826 KB

README.adoc

File metadata and controls

22809 lines (20426 loc) · 826 KB

LeetCode

友情支持

如果觉得对您有所帮助,看在D瓜哥码这么多字的辛苦上,请友情支持一下,D瓜哥感激不尽,😜

支付宝

微信

有些打赏的朋友希望可以加个好友,欢迎关注D瓜哥的微信公众号,这样就可以通过公众号的回复直接给我发信息。

wx jikerizhi
💡
公众号的微信号是: jikerizhi因为众所周知的原因,有时图片加载不出来。如果图片加载不出来可以直接通过搜索微信号来查找我的公众号。

LeetCode Problems

序号 标题 代码 题解 难度 备注

1

1. Two Sum

Java

题解

Easy

2

2. Add Two Numbers

Java

题解

Medium

3

3. Longest Substring Without Repeating Characters

Java

题解

Medium

4

4. Median of Two Sorted Arrays

Java

题解

Hard

5

5. Longest Palindromic Substring

Java

题解

Medium

6

6. ZigZag Conversion

Java

题解

Medium

7

7. Reverse Integer

Java

题解

Easy

8

8. String to Integer (atoi)

Java

题解

Medium

9

9. Palindrome Number

Java

题解

Easy

10

11. Container With Most Water

Java

题解

Medium

11

12. Integer to Roman

Java

题解

Medium

12

13. Roman to Integer

Java

题解

Easy

13

14. Longest Common Prefix

Java

题解

Easy

14

15. 3Sum

Java

题解

Medium

双指针

15

16. 3Sum Closest

Java

题解

Medium

16

17. Letter Combinations of a Phone Number

Java

题解

Medium

17

18. 4Sum

Java

题解

Medium

双指针

18

19. Remove Nth Node From End of List

Java

题解

Medium

19

20. Valid Parentheses

Java

题解

Easy

20

21. Merge Two Sorted Lists

Java

题解

Easy

21

22. Generate Parentheses

Java

题解

Medium

22

23. Merge k Sorted Lists

Java

题解

Hard

23

24. Swap Nodes in Pairs

Java

题解

Medium

24

25. Reverse Nodes in k-Group

Java

题解

Hard

25

26. Remove Duplicates from Sorted Array

Java

题解

Easy

26

27. Remove Element

Java

题解

Easy

27

28. 找出字符串中第一个匹配项的下标

Java

题解

Easy

28

29. Divide Two Integers

Java

题解

Medium

29

31. Next Permutation

Java

题解

Medium

30

33. Search in Rotated Sorted Array

Java

题解

Medium

31

34. Find First and Last Position of Element in Sorted Array

Java

题解

Medium

32

35. Search Insert Position

Java

题解

Easy

33

36. Valid Sudoku

Java

题解

Medium

34

37. Sudoku Solver

Java

题解

Hard

35

38. Count and Say

Java

题解

Easy

36

39. Combination Sum

Java

题解

Medium

37

40. Combination Sum II

Java

题解

Medium

38

41. First Missing Positive

Java

题解

Hard

39

42. Trapping Rain Water

Java

题解

Hard

单调栈

40

43. Multiply Strings

Java

题解

Medium

41

45. Jump Game II

Java

题解

Hard

42

46. Permutations

Java

题解

Medium

43

47. Permutations II

Java

题解

Medium

44

48. Rotate Image

Java

题解

Medium

45

49. Group Anagrams

Java

题解

Medium

46

50. Pow(x, n)

Java

题解

Medium

47

51. N-Queens

Java

题解

Hard

48

52. N-Queens II

Java

题解

Hard

49

53. Maximum Subarray

Java

题解

Medium

50

54. Spiral Matrix

Java

题解

Medium

51

55. Jump Game

Java

题解

Medium

52

56. Merge Intervals

Java

题解

Medium

53

57. Insert Interval

Java

题解

Hard

54

58. Length of Last Word

Java

题解

Easy

55

59. Spiral Matrix II

Java

题解

Medium

56

60. Permutation Sequence

Java

题解

Medium

57

61. Rotate List

Java

题解

Medium

58

62. Unique Paths

Java

题解

Medium

59

63. Unique Paths II

Java

题解

Medium

60

64. Minimum Path Sum

Java

题解

Medium

61

66. Plus One

Java

题解

Easy

62

67. Add Binary

Java

题解

Easy

63

69. Sqrt(x)

Java

题解

Easy

64

70. Climbing Stairs

Java

题解

Easy

65

71. Simplify Path

Java

题解

Medium

66

72. Edit Distance

Java

题解

Hard

67

73. Set Matrix Zeroes

Java

题解

Medium

68

75. Sort Colors

Java

题解

Medium

69

76. Minimum Window Substring

Java

题解

Hard

70

77. Combinations

Java

题解

Medium

71

78. Subsets

Java

题解

Medium

72

79. Word Search

Java

题解

Medium

73

80. Remove Duplicates from Sorted Array II

Java

题解

Medium

74

81. Search in Rotated Sorted Array II

Java

题解

Medium

75

82. Remove Duplicates from Sorted List II

Java

题解

Medium

76

83. Remove Duplicates from Sorted List

Java

题解

Easy

77

86. Partition List

Java

题解

Medium

78

88. Merge Sorted Array

Java

题解

Easy

79

89. Gray Code

Java

题解

Medium

80

90. Subsets II

Java

题解

Medium

81

91. Decode Ways

Java

题解

Medium

82

92. Reverse Linked List II

Java

题解

Medium

83

93. Restore IP Addresses

Java

题解

Medium

84

94. Binary Tree Inorder Traversal

Java

题解

Medium

85

95. Unique Binary Search Trees II

Java

题解

Medium

86

96. Unique Binary Search Trees

Java

题解

Medium

87

98. Validate Binary Search Tree

Java

题解

Medium

树形DP套路或中序遍历

88

99. Recover Binary Search Tree

Java

题解

Medium

Morris遍历

89

100. Same Tree

Java

题解

Easy

90

101. Symmetric Tree

Java

题解

Easy

91

102. Binary Tree Level Order Traversal

Java

题解

Medium

92

103. Binary Tree Zigzag Level Order Traversal

Java

题解

Medium

93

104. Maximum Depth of Binary Tree

Java

题解

Easy

94

105. Construct Binary Tree from Preorder and Inorder Traversal

Java

题解

Medium

迭代如何实现?

95

106. Construct Binary Tree from Inorder and Postorder Traversal

Java

题解

Medium

迭代如何实现?

96

107. Binary Tree Level Order Traversal II

Java

题解

Easy

97

108. Convert Sorted Array to Binary Search Tree

Java

题解

Easy

98

109. Convert Sorted List to Binary Search Tree

Java

题解

Medium

分治+中序遍历

99

110. Balanced Binary Tree

Java

题解

Easy

100

111. Minimum Depth of Binary Tree

Java

题解

Easy

Morris解法需要深入研究

101

112. Path Sum

Java

题解

Easy

102

113. Path Sum II

Java

题解

Medium

103

114. Flatten Binary Tree to Linked List

Java

题解

Medium

104

116. Populating Next Right Pointers in Each Node

Java

题解

Medium

105

117. Populating Next Right Pointers in Each Node II

Java

题解

Medium

106

118. Pascal’s Triangle

Java

题解

Easy

107

119. Pascal’s Triangle II

Java

题解

Easy

108

120. Triangle

Java

题解

Medium

109

121. Best Time to Buy and Sell Stock

Java

题解

Easy

110

122. Best Time to Buy and Sell Stock II

Java

题解

Easy

111

123. Best Time to Buy and Sell Stock III

Java

题解

Hard

112

124. Binary Tree Maximum Path Sum

Java

题解

Hard

113

125. Valid Palindrome

Java

题解

Easy

114

127. Word Ladder

Java

题解

Medium

115

128. Longest Consecutive Sequence

Java

题解

Hard

116

129. Sum Root to Leaf Numbers

Java

题解

Medium

117

130. Surrounded Regions

Java

题解

Medium

118

131. Palindrome Partitioning

Java

题解

Medium

119

133. Clone Graph

Java

题解

Medium

120

134. Gas Station

Java

题解

Medium

121

135. Candy

Java

题解

Hard

122

136. Single Number

Java

题解

Easy

123

137. Single Number II

Java

题解

Medium

124

138. Copy List with Random Pointer

Java

题解

Medium

125

139. Word Break

Java

题解

Medium

126

140. Word Break II

Java

题解

Hard

127

141. Linked List Cycle

Java

题解

Easy

128

142. Linked List Cycle II

Java

题解

Medium

129

143. Reorder List

Java

题解

Medium

130

144. Binary Tree Preorder Traversal

Java

题解

Medium

131

145. Binary Tree Postorder Traversal

Java

题解

Easy

强化迭代

132

146. LRU Cache

Java

题解

Medium

133

148. Sort List

Java

题解

Medium

134

150. Evaluate Reverse Polish Notation

Java

题解

Medium

135

151. Reverse Words in a String

Java

题解

Medium

136

152. Maximum Product Subarray

Java

题解

Medium

137

153. Find Minimum in Rotated Sorted Array

Java

题解

Medium

138

154. Find Minimum in Rotated Sorted Array II

Java

题解

Hard

139

155. Min Stack

Java

题解

Easy

140

160. Intersection of Two Linked Lists

Java

题解

Easy

141

162. Find Peak Element

Java

题解

Medium

142

166. Fraction to Recurring Decimal

Java

题解

Medium

143

167. Two Sum II - Input array is sorted

Java

题解

Easy

144

169. Majority Element

Java

题解

Easy

145

171. Excel Sheet Column Number

Java

题解

Easy

146

172. Factorial Trailing Zeroes

Java

题解

Easy

147

175. Combine Two Tables

SQL

题解

Easy

148

176. Second Highest Salary

SQL

题解

Easy

149

179. Largest Number

Java

题解

Medium

150

188. Best Time to Buy and Sell Stock IV

Java

题解

Hard

151

189. Rotate Array

Java

题解

Easy

152

190. Reverse Bits

Java

题解

Easy

153

191. Number of 1 Bits

Java

题解

Easy

154

198. House Robber

Java

题解

Easy

155

199. Binary Tree Right Side View

Java

题解

Medium

递归+DFS解法有意思

156

200. Number of Islands

Java

题解

Medium

157

202. Happy Number

Java

题解

Easy

158

203. Remove Linked List Elements

Java

题解

Easy

159

204. Count Primes

Java

题解

Easy

160

205. Isomorphic Strings

Java

题解

Easy

161

206. Reverse Linked List

Java

题解

Easy

162

207. Course Schedule

Java

题解

Medium

163

208. Implement Trie (Prefix Tree)

Java

题解

Medium

164

209. Minimum Size Subarray Sum

Java

题解

Medium

165

210. Course Schedule II

Java

题解

Medium

166

213. House Robber II

Java

题解

Medium

167

215. Kth Largest Element in an Array

Java

题解

Medium

168

217. Contains Duplicate

Java

题解

Easy

169

221. Maximal Square

Java

题解

Medium

170

222. Count Complete Tree Nodes

Java

题解

Medium

171

226. Invert Binary Tree

Java

题解

Easy

172

227. Basic Calculator II

Java

题解

Medium

173

230. Kth Smallest Element in a BST

Java

题解

Medium

174

231. Power of Two

Java

题解

Easy

175

232. Implement Queue using Stacks

Java

题解

Easy

176

234. Palindrome Linked List

Java

题解

Easy

177

235. Lowest Common Ancestor of a Binary Search Tree

Java

题解

Easy

二叉搜索树左大右小的特性

178

236. Lowest Common Ancestor of a Binary Tree

Java

题解

Medium

179

237. Delete Node in a Linked List

Java

题解

Easy

180

238. Product of Array Except Self

Java

题解

Medium

181

239. Sliding Window Maximum

Java

题解

Hard

182

240. Search a 2D Matrix II

Java

题解

Medium

183

242. Valid Anagram

Java

题解

Easy

184

257. Binary Tree Paths

Java

题解

Easy

185

268. Missing Number

Java

题解

Easy

186

278. First Bad Version

Java

题解

Easy

187

279. Perfect Squares

Java

题解

Medium

188

283. Move Zeroes

Java

题解

Easy

189

287. Find the Duplicate Number

Java

题解

Medium

190

289. Game of Life

Java

题解

Medium

191

295. Find Median from Data Stream

Java

题解

Hard

192

297. Serialize and Deserialize Binary Tree

Java

题解

Hard

注意思维误区!

193

300. Longest Increasing Subsequence

Java

题解

Medium

194

303. Range Sum Query - Immutable

Java

题解

Easy

195

304. Range Sum Query 2D - Immutable

Java

题解

Medium

196

309. Best Time to Buy and Sell Stock with Cooldown

Java

题解

Medium

197

316. Remove Duplicate Letters

Java

题解

Hard

198

322. Coin Change

Java

题解

Medium

199

324. Wiggle Sort II

Java

题解

Medium

200

326. Power of Three

Java

题解

Easy

201

328. Odd Even Linked List

Java

题解

Medium

202

334. Increasing Triplet Subsequence

Java

题解

Medium

203

337. House Robber III

Java

题解

Medium

204

338. Counting Bits

Java

题解

Medium

205

341. Flatten Nested List Iterator

Java

题解

Medium

206

343. Integer Break

Java

题解

Medium

207

344. Reverse String

Java

题解

Easy

208

347. Top K Frequent Elements

Java

题解

Medium

209

350. Intersection of Two Arrays II

Java

题解

Easy

210

370. Range Addition

Java

题解

Medium

Plus专题

211

371. Sum of Two Integers

Java

题解

Easy

212

378. Kth Smallest Element in a Sorted Matrix

Java

题解

Medium

213

380. Insert Delete GetRandom O(1)

Java

题解

Medium

214

384. Shuffle an Array

Java

题解

Medium

215

387. First Unique Character in a String

Java

题解

Easy

216

392. Is Subsequence

Java

题解

Easy

217

394. Decode String

Java

题解

Medium

218

395. Longest Substring with At Least K Repeating Characters

Java

题解

Medium

219

400. Nth Digit

Java

题解

Medium

220

402. Remove K Digits

Java

题解

Medium

221

404. Sum of Left Leaves

Java

题解

Easy

222

406. Queue Reconstruction by Height

Java

题解

Medium

223

409. Longest Palindrome

Java

题解

Easy

224

412. Fizz Buzz

Java

题解

Easy

225

415. Add Strings

Java

题解

Easy

226

416. Partition Equal Subset Sum

Java

题解

Medium

227

429. N-ary Tree Level Order Traversal

Java

题解

Medium

广度优先

228

437. Path Sum III

Java

题解

Medium

前缀和解法还需要多思考!

229

438. Find All Anagrams in a String

Java

题解

Medium

230

448. Find All Numbers Disappeared in an Array

Java

题解

Easy

231

450. Delete Node in a BST

Java

题解

Medium

232

453. Minimum Moves to Equal Array Elements

Java

题解

Medium

233

454. 4Sum II

Java

题解

Medium

234

462. Minimum Moves to Equal Array Elements II

Java

题解

Medium

快速选择

235

474. Ones and Zeroes

Java

题解

Medium

236

480. Sliding Window Median

Java

题解

Hard

237

494. Target Sum

Java

题解

Medium

238

496. Next Greater Element I

Java

题解

Easy

239

501. Find Mode in Binary Search Tree

Java

题解

Easy

240

503. Next Greater Element II

Java

题解

Medium

241

509. Fibonacci Number

Java

题解

Easy

242

513. Find Bottom Left Tree Value

Java

题解

Medium

243

515. Find Largest Value in Each Tree Row

Java

题解

Medium

层序遍历

244

516. Longest Palindromic Subsequence

Java

题解

Medium

245

523. Continuous Subarray Sum

Java

题解

Medium

前缀和

246

528. Random Pick with Weight

Java

题解

Medium

247

530. Minimum Absolute Difference in BST

Java

题解

Easy

248

538. Convert BST to Greater Tree

Java

题解

Easy

249

543. Diameter of Binary Tree

Java

题解

Easy

250

547. 省份数量

Java

题解

Medium

251

559. Maximum Depth of N-ary Tree

Java

题解

Easy

252

560. Subarray Sum Equals K

Java

题解

Medium

前缀和

253

567. Permutation in String

Java

题解

Medium

254

581. Shortest Unsorted Continuous Subarray

Java

题解

Easy

255

617. Merge Two Binary Trees

Java

题解

Easy

256

621. Task Scheduler

Java

题解

Medium

257

637. Average of Levels in Binary Tree

Java

题解

Easy

258

647. Palindromic Substrings

Java

题解

Medium

259

654. Maximum Binary Tree

Java

题解

Medium

260

662. Maximum Width of Binary Tree

Java

题解

Medium

261

669. Trim a Binary Search Tree

Java

题解

Easy

262

695. Max Area of Island

Java

题解

Medium

263

698. Partition to K Equal Sum Subsets

Java

题解

Medium

264

700. Search in a Binary Search Tree

Java

题解

Easy

265

701. Insert into a Binary Search Tree

Java

题解

Medium

266

704. Binary Search

Java

题解

Easy

267

707. Design Linked List

Java

题解

Medium

268

710. Random Pick with Blacklist

Java

题解

Hard

269

713. Subarray Product Less Than K

Java

题解

Medium

滑动窗口

270

714. Best Time to Buy and Sell Stock with Transaction Fee

Java

题解

Medium

271

718. Maximum Length of Repeated Subarray

Java

题解

Medium

272

721. Accounts Merge

Java

题解

Medium

273

724. Find Pivot Index

Java

题解

Easy

274

739. Daily Temperatures

Java

题解

Medium

275

740. Delete and Earn

Java

题解

Medium

276

744. Find Smallest Letter Greater Than Target

Java

题解

Easy

277

746. Min Cost Climbing Stairs

Java

题解

Easy

278

752. Open the Lock

Java

题解

Medium

279

768. Max Chunks To Make Sorted II

Java

题解

Hard

280

796. Rotate String

Java

题解

Easy

281

869. Reordered Power of 2

Java

题解

Medium

282

870. Advantage Shuffle

Java

题解

Medium

283

875. Koko Eating Bananas

Java

题解

Medium

二分查找

284

876. Middle of the Linked List

Java

题解

Easy

285

881. Boats to Save People

Java

题解

Medium

286

892. Surface Area of 3D Shapes

Java

题解

Easy

287

904. Fruit Into Baskets

Java

题解

Medium

288

912. Sort an Array

Java

题解

Medium

归并,快排

289

926. Flip String to Monotone Increasing

Java

题解

Medium

290

931. Minimum Falling Path Sum

Java

题解

Medium

291

946. Validate Stack Sequences

Java

题解

Medium

292

980. Unique Paths III

Java

题解

Hard

293

992. Subarrays with K Different Integers

Java

题解

Hard

294

1011. Capacity To Ship Packages Within D Days

Java

题解

Medium

295

1041. Robot Bounded In Circle

Java

题解

Medium

296

1081. Smallest Subsequence of Distinct Characters

Java

题解

Medium

297

1090. Largest Values From Labels

Java

题解

Medium

排序规则跟 179、870 题类似:保存下标,使用其他数组的值对下标数组进行排序。

298

1094. Car Pooling

Java

题解

Medium

299

1109. Corporate Flight Bookings

Java

题解

Medium

300

1110. Delete Nodes And Return Forest

Java

题解

Medium

301

1137. N-th Tribonacci Number

Java

题解

Easy

302

1143. Longest Common Subsequence

Java

题解

Medium

303

1253. Reconstruct a 2-Row Binary Matrix

Java

题解

Medium

304

1289. Minimum Falling Path Sum II

Java

题解

Hard

305

1480. Running Sum of 1d Array

Java

题解

Easy

306

1644. Lowest Common Ancestor of a Binary Tree II

Java

题解

Medium

树形DP套路,没有验证答案!

307

1650. Lowest Common Ancestor of a Binary Tree III

Java

题解

Medium

链表相交

308

1823. Find the Winner of the Circular Game

Java

题解

Medium

309

1864. Minimum Number of Swaps to Make the Binary String Alternating

Java

题解

Medium

310

1905. Count Sub Islands

Java

题解

Medium

311

1997. First Day Where You Have Been in All the Rooms

Java

题解

Medium

312

2507. Smallest Value After Replacing With Sum of Prime Factors

Java

题解

Medium

313

2560. House Robber IV

Java

题解

Medium

314

2850. Minimum Moves to Spread Stones Over Grid

Java

题解

Medium

截止目前,一共完成 314 道题。