Skip to content

diguage/leetcode

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

30. Substring with Concatenation of All Words

Java

题解

Hard

30

31. Next Permutation

Java

题解

Medium

31

32. Longest Valid Parentheses

Java

题解

Hard

32

33. Search in Rotated Sorted Array

Java

题解

Medium

33

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

Java

题解

Medium

34

35. Search Insert Position

Java

题解

Easy

35

36. Valid Sudoku

Java

题解

Medium

36

37. Sudoku Solver

Java

题解

Hard

37

38. Count and Say

Java

题解

Easy

38

39. Combination Sum

Java

题解

Medium

39

40. Combination Sum II

Java

题解

Medium

40

41. First Missing Positive

Java

题解

Hard

41

42. Trapping Rain Water

Java

题解

Hard

单调栈

42

43. Multiply Strings

Java

题解

Medium

43

45. Jump Game II

Java

题解

Hard

44

46. Permutations

Java

题解

Medium

45

47. Permutations II

Java

题解

Medium

46

48. Rotate Image

Java

题解

Medium

47

49. Group Anagrams

Java

题解

Medium

48

50. Pow(x, n)

Java

题解

Medium

49

51. N-Queens

Java

题解

Hard

50

52. N-Queens II

Java

题解

Hard

51

53. Maximum Subarray

Java

题解

Medium

52

54. Spiral Matrix

Java

题解

Medium

53

55. Jump Game

Java

题解

Medium

54

56. Merge Intervals

Java

题解

Medium

55

57. Insert Interval

Java

题解

Hard

56

58. Length of Last Word

Java

题解

Easy

57

59. Spiral Matrix II

Java

题解

Medium

58

60. Permutation Sequence

Java

题解

Medium

59

61. Rotate List

Java

题解

Medium

60

62. Unique Paths

Java

题解

Medium

61

63. Unique Paths II

Java

题解

Medium

62

64. Minimum Path Sum

Java

题解

Medium

63

66. Plus One

Java

题解

Easy

64

67. Add Binary

Java

题解

Easy

65

69. Sqrt(x)

Java

题解

Easy

66

70. Climbing Stairs

Java

题解

Easy

67

71. Simplify Path

Java

题解

Medium

68

72. Edit Distance

Java

题解

Hard

69

73. Set Matrix Zeroes

Java

题解

Medium

70

74. Search a 2D Matrix

Java

题解

Medium

71

75. Sort Colors

Java

题解

Medium

72

76. Minimum Window Substring

Java

题解

Hard

73

77. Combinations

Java

题解

Medium

74

78. Subsets

Java

题解

Medium

75

79. Word Search

Java

题解

Medium

76

80. Remove Duplicates from Sorted Array II

Java

题解

Medium

77

81. Search in Rotated Sorted Array II

Java

题解

Medium

78

82. Remove Duplicates from Sorted List II

Java

题解

Medium

79

83. Remove Duplicates from Sorted List

Java

题解

Easy

80

84. Largest Rectangle in Histogram

Java

题解

Hard

81

86. Partition List

Java

题解

Medium

82

88. Merge Sorted Array

Java

题解

Easy

83

89. Gray Code

Java

题解

Medium

84

90. Subsets II

Java

题解

Medium

85

91. Decode Ways

Java

题解

Medium

86

92. Reverse Linked List II

Java

题解

Medium

87

93. Restore IP Addresses

Java

题解

Medium

88

94. Binary Tree Inorder Traversal

Java

题解

Medium

89

95. Unique Binary Search Trees II

Java

题解

Medium

90

96. Unique Binary Search Trees

Java

题解

Medium

91

98. Validate Binary Search Tree

Java

题解

Medium

树形DP套路或中序遍历

92

99. Recover Binary Search Tree

Java

题解

Medium

Morris遍历

93

100. Same Tree

Java

题解

Easy

94

101. Symmetric Tree

Java

题解

Easy

95

102. Binary Tree Level Order Traversal

Java

题解

Medium

96

103. Binary Tree Zigzag Level Order Traversal

Java

题解

Medium

97

104. Maximum Depth of Binary Tree

Java

题解

Easy

98

105. Construct Binary Tree from Preorder and Inorder Traversal

Java

题解

Medium

迭代如何实现?

99

106. Construct Binary Tree from Inorder and Postorder Traversal

Java

题解

Medium

迭代如何实现?

100

107. Binary Tree Level Order Traversal II

Java

题解

Easy

101

108. Convert Sorted Array to Binary Search Tree

Java

题解

Easy

102

109. Convert Sorted List to Binary Search Tree

Java

题解

Medium

分治+中序遍历

103

110. Balanced Binary Tree

Java

题解

Easy

104

111. Minimum Depth of Binary Tree

Java

题解

Easy

Morris解法需要深入研究

105

112. Path Sum

Java

题解

Easy

106

113. Path Sum II

Java

题解

Medium

107

114. Flatten Binary Tree to Linked List

Java

题解

Medium

108

115. Distinct Subsequences

Java

题解

Hard

109

116. Populating Next Right Pointers in Each Node

Java

题解

Medium

110

117. Populating Next Right Pointers in Each Node II

Java

题解

Medium

111

118. Pascal’s Triangle

Java

题解

Easy

112

119. Pascal’s Triangle II

Java

题解

Easy

113

120. Triangle

Java

题解

Medium

114

121. Best Time to Buy and Sell Stock

Java

题解

Easy

115

122. Best Time to Buy and Sell Stock II

Java

题解

Easy

116

123. Best Time to Buy and Sell Stock III

Java

题解

Hard

117

124. Binary Tree Maximum Path Sum

Java

题解

Hard

118

125. Valid Palindrome

Java

题解

Easy

119

127. Word Ladder

Java

题解

Medium

120

128. Longest Consecutive Sequence

Java

题解

Hard

121

129. Sum Root to Leaf Numbers

Java

题解

Medium

122

130. Surrounded Regions

Java

题解

Medium

123

131. Palindrome Partitioning

Java

题解

Medium

124

133. Clone Graph

Java

题解

Medium

125

134. Gas Station

Java

题解

Medium

126

135. Candy

Java

题解

Hard

127

136. Single Number

Java

题解

Easy

128

137. Single Number II

Java

题解

Medium

129

138. Copy List with Random Pointer

Java

题解

Medium

130

139. Word Break

Java

题解

Medium

131

140. Word Break II

Java

题解

Hard

132

141. Linked List Cycle

Java

题解

Easy

133

142. Linked List Cycle II

Java

题解

Medium

134

143. Reorder List

Java

题解

Medium

135

144. Binary Tree Preorder Traversal

Java

题解

Medium

136

145. Binary Tree Postorder Traversal

Java

题解

Easy

强化迭代

137

146. LRU Cache

Java

题解

Medium

138

148. Sort List

Java

题解

Medium

139

149. Max Points on a Line

Java

题解

Hard

140

150. Evaluate Reverse Polish Notation

Java

题解

Medium

141

151. Reverse Words in a String

Java

题解

Medium

142

152. Maximum Product Subarray

Java

题解

Medium

143

153. Find Minimum in Rotated Sorted Array

Java

题解

Medium

144

154. Find Minimum in Rotated Sorted Array II

Java

题解

Hard

145

155. Min Stack

Java

题解

Easy

146

160. Intersection of Two Linked Lists

Java

题解

Easy

147

162. Find Peak Element

Java

题解

Medium

148

166. Fraction to Recurring Decimal

Java

题解

Medium

149

167. Two Sum II - Input array is sorted

Java

题解

Easy

150

169. Majority Element

Java

题解

Easy

151

171. Excel Sheet Column Number

Java

题解

Easy

152

172. Factorial Trailing Zeroes

Java

题解

Easy

153

175. Combine Two Tables

SQL

题解

Easy

154

176. Second Highest Salary

SQL

题解

Easy

155

179. Largest Number

Java

题解

Medium

156

188. Best Time to Buy and Sell Stock IV

Java

题解

Hard

157

189. Rotate Array

Java

题解

Easy

158

190. Reverse Bits

Java

题解

Easy

159

191. Number of 1 Bits

Java

题解

Easy

160

198. House Robber

Java

题解

Easy

161

199. Binary Tree Right Side View

Java

题解

Medium

递归+DFS解法有意思

162

200. Number of Islands

Java

题解

Medium

163

202. Happy Number

Java

题解

Easy

164

203. Remove Linked List Elements

Java

题解

Easy

165

204. Count Primes

Java

题解

Easy

166

205. Isomorphic Strings

Java

题解

Easy

167

206. Reverse Linked List

Java

题解

Easy

168

207. Course Schedule

Java

题解

Medium

169

208. Implement Trie (Prefix Tree)

Java

题解

Medium

170

209. Minimum Size Subarray Sum

Java

题解

Medium

171

210. Course Schedule II

Java

题解

Medium

172

211. 添加与搜索单词 - 数据结构设计

Java

题解

Medium

173

213. House Robber II

Java

题解

Medium

174

215. Kth Largest Element in an Array

Java

题解

Medium

175

216. Combination Sum III

Java

题解

Medium

176

217. Contains Duplicate

Java

题解

Easy

177

221. Maximal Square

Java

题解

Medium

178

222. Count Complete Tree Nodes

Java

题解

Medium

179

224. Basic Calculator

Java

题解

Hard

180

226. Invert Binary Tree

Java

题解

Easy

181

227. Basic Calculator II

Java

题解

Medium

182

230. Kth Smallest Element in a BST

Java

题解

Medium

183

231. Power of Two

Java

题解

Easy

184

232. Implement Queue using Stacks

Java

题解

Easy

185

234. Palindrome Linked List

Java

题解

Easy

186

235. Lowest Common Ancestor of a Binary Search Tree

Java

题解

Easy

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

187

236. Lowest Common Ancestor of a Binary Tree

Java

题解

Medium

188

237. Delete Node in a Linked List

Java

题解

Easy

189

238. Product of Array Except Self

Java

题解

Medium

190

239. Sliding Window Maximum

Java

题解

Hard

191

240. Search a 2D Matrix II

Java

题解

Medium

192

242. Valid Anagram

Java

题解

Easy

193

257. Binary Tree Paths

Java

题解

Easy

194

260. Single Number III

Java

题解

Medium

195

268. Missing Number

Java

题解

Easy

196

278. First Bad Version

Java

题解

Easy

197

279. Perfect Squares

Java

题解

Medium

198

283. Move Zeroes

Java

题解

Easy

199

287. Find the Duplicate Number

Java

题解

Medium

200

289. Game of Life

Java

题解

Medium

201

295. Find Median from Data Stream

Java

题解

Hard

202

297. Serialize and Deserialize Binary Tree

Java

题解

Hard

注意思维误区!

203

300. Longest Increasing Subsequence

Java

题解

Medium

204

303. Range Sum Query - Immutable

Java

题解

Easy

205

304. Range Sum Query 2D - Immutable

Java

题解

Medium

206

309. Best Time to Buy and Sell Stock with Cooldown

Java

题解

Medium

207

316. Remove Duplicate Letters

Java

题解

Hard

208

322. Coin Change

Java

题解

Medium

209

324. Wiggle Sort II

Java

题解

Medium

210

326. Power of Three

Java

题解

Easy

211

328. Odd Even Linked List

Java

题解

Medium

212

334. Increasing Triplet Subsequence

Java

题解

Medium

213

337. House Robber III

Java

题解

Medium

214

338. Counting Bits

Java

题解

Medium

215

341. Flatten Nested List Iterator

Java

题解

Medium

216

343. Integer Break

Java

题解

Medium

217

344. Reverse String

Java

题解

Easy

218

347. Top K Frequent Elements

Java

题解

Medium

219

350. Intersection of Two Arrays II

Java

题解

Easy

220

370. Range Addition

Java

题解

Medium

Plus专题

221

371. Sum of Two Integers

Java

题解

Easy

222

378. Kth Smallest Element in a Sorted Matrix

Java

题解

Medium

223

380. Insert Delete GetRandom O(1)

Java

题解

Medium

224

384. Shuffle an Array

Java

题解

Medium

225

387. First Unique Character in a String

Java

题解

Easy

226

392. Is Subsequence

Java

题解

Easy

227

394. Decode String

Java

题解

Medium

228

395. Longest Substring with At Least K Repeating Characters

Java

题解

Medium

229

400. Nth Digit

Java

题解

Medium

230

402. Remove K Digits

Java

题解

Medium

231

404. Sum of Left Leaves

Java

题解

Easy

232

406. Queue Reconstruction by Height

Java

题解

Medium

233

409. Longest Palindrome

Java

题解

Easy

234

412. Fizz Buzz

Java

题解

Easy

235

415. Add Strings

Java

题解

Easy

236

416. Partition Equal Subset Sum

Java

题解

Medium

237

429. N-ary Tree Level Order Traversal

Java

题解

Medium

广度优先

238

437. Path Sum III

Java

题解

Medium

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

239

438. Find All Anagrams in a String

Java

题解

Medium

240

448. Find All Numbers Disappeared in an Array

Java

题解

Easy

241

450. Delete Node in a BST

Java

题解

Medium

242

453. Minimum Moves to Equal Array Elements

Java

题解

Medium

243

454. 4Sum II

Java

题解

Medium

244

462. Minimum Moves to Equal Array Elements II

Java

题解

Medium

快速选择

245

474. Ones and Zeroes

Java

题解

Medium

246

480. Sliding Window Median

Java

题解

Hard

247

494. Target Sum

Java

题解

Medium

248

496. Next Greater Element I

Java

题解

Easy

249

501. Find Mode in Binary Search Tree

Java

题解

Easy

250

503. Next Greater Element II

Java

题解

Medium

251

509. Fibonacci Number

Java

题解

Easy

252

513. Find Bottom Left Tree Value

Java

题解

Medium

253

515. Find Largest Value in Each Tree Row

Java

题解

Medium

层序遍历

254

516. Longest Palindromic Subsequence

Java

题解

Medium

255

523. Continuous Subarray Sum

Java

题解

Medium

前缀和

256

528. Random Pick with Weight

Java

题解

Medium

257

530. Minimum Absolute Difference in BST

Java

题解

Easy

258

538. Convert BST to Greater Tree

Java

题解

Easy

259

543. Diameter of Binary Tree

Java

题解

Easy

260

547. 省份数量

Java

题解

Medium

261

559. Maximum Depth of N-ary Tree

Java

题解

Easy

262

560. Subarray Sum Equals K

Java

题解

Medium

前缀和

263

567. Permutation in String

Java

题解

Medium

264

581. Shortest Unsorted Continuous Subarray

Java

题解

Easy

265

617. Merge Two Binary Trees

Java

题解

Easy

266

621. Task Scheduler

Java

题解

Medium

267

637. Average of Levels in Binary Tree

Java

题解

Easy

268

647. Palindromic Substrings

Java

题解

Medium

269

649. Dota2 Senate

Java

题解

Medium

270

654. Maximum Binary Tree

Java

题解

Medium

271

662. Maximum Width of Binary Tree

Java

题解

Medium

272

669. Trim a Binary Search Tree

Java

题解

Easy

273

670. Maximum Swap

Java

题解

Medium

274

695. Max Area of Island

Java

题解

Medium

275

697. Degree of an Array

Java

题解

Easy

276

698. Partition to K Equal Sum Subsets

Java

题解

Medium

277

700. Search in a Binary Search Tree

Java

题解

Easy

278

701. Insert into a Binary Search Tree

Java

题解

Medium

279

704. Binary Search

Java

题解

Easy

280

705. Design HashSet

Java

题解

Easy

281

707. Design Linked List

Java

题解

Medium

282

710. Random Pick with Blacklist

Java

题解

Hard

283

713. Subarray Product Less Than K

Java

题解

Medium

滑动窗口

284

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

Java

题解

Medium

285

718. Maximum Length of Repeated Subarray

Java

题解

Medium

286

721. Accounts Merge

Java

题解

Medium

287

724. Find Pivot Index

Java

题解

Easy

288

739. Daily Temperatures

Java

题解

Medium

289

740. Delete and Earn

Java

题解

Medium

290

744. Find Smallest Letter Greater Than Target

Java

题解

Easy

291

746. Min Cost Climbing Stairs

Java

题解

Easy

292

752. Open the Lock

Java

题解

Medium

293

768. Max Chunks To Make Sorted II

Java

题解

Hard

294

787. Cheapest Flights Within K Stops

Java

题解

Medium

295

794. Valid Tic-Tac-Toe State

Java

题解

Medium

296

796. Rotate String

Java

题解

Easy

297

841. Keys and Rooms

Java

题解

Medium

298

865. Smallest Subtree with all the Deepest Nodes

Java

题解

Medium

299

869. Reordered Power of 2

Java

题解

Medium

300

870. Advantage Shuffle

Java

题解

Medium

301

875. Koko Eating Bananas

Java

题解

Medium

二分查找

302

876. Middle of the Linked List

Java

题解

Easy

303

881. Boats to Save People

Java

题解

Medium

304

890. Find and Replace Pattern

Java

题解

Medium

305

892. Surface Area of 3D Shapes

Java

题解

Easy

306

900. RLE Iterator

Java

题解

Medium

307

904. Fruit Into Baskets

Java

题解

Medium

308

912. Sort an Array

Java

题解

Medium

归并,快排

309

915. Partition Array into Disjoint Intervals

Java

题解

Medium

310

918. Maximum Sum Circular Subarray

Java

题解

Medium

311

926. Flip String to Monotone Increasing

Java

题解

Medium

312

931. Minimum Falling Path Sum

Java

题解

Medium

313

946. Validate Stack Sequences

Java

题解

Medium

314

980. Unique Paths III

Java

题解

Hard

315

986. Interval List Intersections

Java

题解

Medium

316

992. Subarrays with K Different Integers

Java

题解

Hard

317

994. Rotting Oranges

Java

题解

Easy

318

1006. Clumsy Factorial

Java

题解

Medium

319

1007. Minimum Domino Rotations For Equal Row

Java

题解

Medium

320

1011. Capacity To Ship Packages Within D Days

Java

题解

Medium

321

1020. Number of Enclaves

Java

题解

Medium

322

1022. Sum of Root To Leaf Binary Numbers

Java

题解

Easy

323

1023. Camelcase Matching

Java

题解

Medium

324

1033. Moving Stones Until Consecutive

Java

题解

Easy

325

1041. Robot Bounded In Circle

Java

题解

Medium

326

1047. Remove All Adjacent Duplicates In String

Java

题解

Easy

327

1049. Last Stone Weight II

Java

题解

Medium

328

1052. Grumpy Bookstore Owner

Java

题解

Medium

329

1081. Smallest Subsequence of Distinct Characters

Java

题解

Medium

330

1090. Largest Values From Labels

Java

题解

Medium

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

331

1094. Car Pooling

Java

题解

Medium

332

1104. Path In Zigzag Labelled Binary Tree

Java

题解

Medium

333

1109. Corporate Flight Bookings

Java

题解

Medium

334

1110. Delete Nodes And Return Forest

Java

题解

Medium

335

1137. N-th Tribonacci Number

Java

题解

Easy

336

1143. Longest Common Subsequence

Java

题解

Medium

337

1171. Remove Zero Sum Consecutive Nodes from Linked List

Java

题解

Medium

338

1189. Maximum Number of Balloons

Java

题解

Easy

339

1209. Remove All Adjacent Duplicates in String II

Java

题解

Medium

340

1217. 玩筹码

Java

题解

Easy

341

1253. Reconstruct a 2-Row Binary Matrix

Java

题解

Medium

342

1289. Minimum Falling Path Sum II

Java

题解

Hard

343

1325. Delete Leaves With a Given Value

Java

题解

Medium

344

1349. Maximum Students Taking Exam

Java

题解

Hard

345

1362. Closest Divisors

Java

题解

Medium

346

1382. Balance a Binary Search Tree

Java

题解

Medium

347

1387. Sort Integers by The Power Value

Java

题解

Medium

348

1400. Construct K Palindrome Strings

Java

题解

Medium

349

1410. HTML Entity Parser

Java

题解

Medium

350

1442. Count Triplets That Can Form Two Arrays of Equal XOR

Java

题解

Medium

351

1457. Pseudo-Palindromic Paths in a Binary Tree

Java

题解

Medium

352

1480. Running Sum of 1d Array

Java

题解

Easy

353

1496. Path Crossing

Java

题解

Easy

354

1509. Minimum Difference Between Largest and Smallest Value in Three Moves

Java

题解

Medium

355

1530. Number of Good Leaf Nodes Pairs

Java

题解

Medium

356

1561. Maximum Number of Coins You Can Get

Java

题解

Medium

357

1644. Lowest Common Ancestor of a Binary Tree II

Java

题解

Medium

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

358

1650. Lowest Common Ancestor of a Binary Tree III

Java

题解

Medium

链表相交

359

1700. Number of Students Unable to Eat Lunch

Java

题解

Easy

360

1769. Minimum Number of Operations to Move All Balls to Each Box

Java

题解

Medium

361

1823. Find the Winner of the Circular Game

Java

题解

Medium

362

1839. Longest Substring Of All Vowels in Order

Java

题解

Medium

363

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

Java

题解

Medium

364

1905. Count Sub Islands

Java

题解

Medium

365

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

Java

题解

Medium