Skip to content

diguage/leetcode

Repository files navigation

LeetCode

LeetCode Problems

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

1

Two Sum

Java

题解

Easy

2

Add Two Numbers

Java

题解

Medium

3

Longest Substring Without Repeating Characters

Java

题解

Medium

4

Median of Two Sorted Arrays

Java

题解

Hard

5

Longest Palindromic Substring

Java

题解

Medium

6

ZigZag Conversion

Java

题解

Medium

7

Reverse Integer

Java

题解

Easy

8

String to Integer (atoi)

Java

题解

Medium

9

Palindrome Number

Java

题解

Easy

11

Container With Most Water

Java

题解

Medium

12

Integer to Roman

Java

题解

Medium

13

Roman to Integer

Java

题解

Easy

14

Longest Common Prefix

Java

题解

Easy

15

3Sum

Java

题解

Medium

16

3Sum Closest

Java

题解

Medium

17

Letter Combinations of a Phone Number

Java

题解

Medium

18

4Sum

Java

题解

Medium

19

Remove Nth Node From End of List

Java

题解

Medium

20

Valid Parentheses

Java

题解

Easy

21

Merge Two Sorted Lists

Java

题解

Easy

22

Generate Parentheses

Java

题解

Medium

23

Merge k Sorted Lists

Java

题解

Hard

24

Swap Nodes in Pairs

Java

题解

Medium

26

Remove Duplicates from Sorted Array

Java

题解

Easy

27

Remove Element

Java

题解

Easy

28

Implement strStr()

Java

题解

Easy

29

Divide Two Integers

Java

题解

Medium

31

Next Permutation

Java

题解

Medium

33

Search in Rotated Sorted Array

Java

题解

Medium

34

Find First and Last Position of Element in Sorted Array

Java

题解

Medium

35

Search Insert Position

Java

题解

Easy

36

Valid Sudoku

Java

题解

Medium

38

Count and Say

Java

题解

Easy

39

Combination Sum

Java

题解

Medium

40

Combination Sum II

Java

题解

Medium

41

First Missing Positive

Java

题解

Hard

42

Trapping Rain Water

Java

题解

Hard

43

Multiply Strings

Java

题解

Medium

45

Jump Game II

Java

题解

Hard

46

Permutations

Java

题解

Medium

47

Permutations II

Java

题解

Medium

48

Rotate Image

Java

题解

Medium

49

Group Anagrams

Java

题解

Medium

50

Pow(x, n)

Java

题解

Medium

51

N-Queens

Java

题解

Hard

52

N-Queens II

Java

题解

Hard

53

Maximum Subarray

Java

题解

Easy

54

Spiral Matrix

Java

题解

Medium

55

Jump Game

Java

题解

Medium

56

Merge Intervals

Java

题解

Medium

58

Length of Last Word

Java

题解

Easy

59

Spiral Matrix II

Java

题解

Medium

60

Permutation Sequence

Java

题解

Medium

61

Rotate List

Java

题解

Medium

62

Unique Paths

Java

题解

Medium

63

Unique Paths II

Java

题解

Medium

64

Minimum Path Sum

Java

题解

Medium

66

Plus One

Java

题解

Easy

67

Add Binary

Java

题解

Easy

69

Sqrt(x)

Java

题解

Easy

70

Climbing Stairs

Java

题解

Easy

71

Simplify Path

Java

题解

Medium

73

Set Matrix Zeroes

Java

题解

Medium

75

Sort Colors

Java

题解

Medium

76

Minimum Window Substring

Java

题解

Hard

77

Combinations

Java

题解

Medium

78

Subsets

Java

题解

Medium

79

Word Search

Java

题解

Medium

80

Remove Duplicates from Sorted Array II

Java

题解

Medium

81

Search in Rotated Sorted Array II

Java

题解

Medium

82

Remove Duplicates from Sorted List II

Java

题解

Medium

83

Remove Duplicates from Sorted List

Java

题解

Easy

86

Partition List

Java

题解

Medium

88

Merge Sorted Array

Java

题解

Easy

89

Gray Code

Java

题解

Medium

90

Subsets II

Java

题解

Medium

91

Decode Ways

Java

题解

Medium

92

Reverse Linked List II

Java

题解

Medium

93

Restore IP Addresses

Java

题解

Medium

94

Binary Tree Inorder Traversal

Java

题解

Medium

95

Unique Binary Search Trees II

Java

题解

Medium

96

Unique Binary Search Trees

Java

题解

Medium

98

Validate Binary Search Tree

Java

题解

Medium

树形DP套路或中序遍历

99

Recover Binary Search Tree

Java

题解

Medium

Morris遍历

100

Same Tree

Java

题解

Easy

101

Symmetric Tree

Java

题解

Easy

102

Binary Tree Level Order Traversal

Java

题解

Medium

103

Binary Tree Zigzag Level Order Traversal

Java

题解

Medium

104

Maximum Depth of Binary Tree

Java

题解

Easy

105

Construct Binary Tree from Preorder and Inorder Traversal

Java

题解

Medium

迭代如何实现?

106

Construct Binary Tree from Inorder and Postorder Traversal

Java

题解

Medium

迭代如何实现?

107

Binary Tree Level Order Traversal II

Java

题解

Easy

108

Convert Sorted Array to Binary Search Tree

Java

题解

Easy

109

Convert Sorted List to Binary Search Tree``

Java

题解

Medium

分治+中序遍历

110

Balanced Binary Tree

Java

题解

Easy

111

Minimum Depth of Binary Tree

Java

题解

Easy

Morris解法需要深入研究

112

Path Sum

Java

题解

Easy

113

Path Sum II

Java

题解

Medium

114

Flatten Binary Tree to Linked List

Java

题解

Medium

116

Populating Next Right Pointers in Each Node

Java

题解

Medium

117

Populating Next Right Pointers in Each Node II

Java

题解

Medium

118

Pascal’s Triangle

Java

题解

Easy

119

Pascal’s Triangle II

Java

题解

Easy

120

Triangle

Java

题解

Medium

121

Best Time to Buy and Sell Stock

Java

题解

Easy

122

Best Time to Buy and Sell Stock II

Java

题解

Easy

123

Best Time to Buy and Sell Stock III

Java

题解

Hard

125

Valid Palindrome

Java

题解

Easy

127

Word Ladder

Java

题解

Medium

129

Sum Root to Leaf Numbers

Java

题解

Medium

130

Surrounded Regions

Java

题解

Medium

131

Palindrome Partitioning

Java

题解

Medium

133

Clone Graph

Java

题解

Medium

134

Gas Station

Java

题解

Medium

136

Single Number

Java

题解

Easy

138

Copy List with Random Pointer

Java

题解

Medium

139

Word Break

Java

题解

Medium

141

Linked List Cycle

Java

题解

Easy

142

Linked List Cycle II

Java

题解

Medium

144

Binary Tree Preorder Traversal

Java

题解

Medium

145

Binary Tree Postorder Traversal

Java

题解

Easy

强化迭代

146

LRU Cache

Java

题解

Medium

148

Sort List

Java

题解

Medium

150

Evaluate Reverse Polish Notation

Java

题解

Medium

152

Maximum Product Subarray

Java

题解

Medium

153

Find Minimum in Rotated Sorted Array

Java

题解

Medium

154

Find Minimum in Rotated Sorted Array II

Java

题解

Hard

155

Min Stack

Java

题解

Easy

160

Intersection of Two Linked Lists

Java

题解

Easy

162

Find Peak Element

Java

题解

Medium

166

Fraction to Recurring Decimal

Java

题解

Medium

167

Two Sum II - Input array is sorted

Java

题解

Easy

169

Majority Element

Java

题解

Easy

171

Excel Sheet Column Number

Java

题解

Easy

172

Factorial Trailing Zeroes

Java

题解

Easy

175

Combine Two Tables

SQL

题解

Easy

176

Second Highest Salary

SQL

题解

Easy

179

Largest Number

Java

题解

Medium

188

Best Time to Buy and Sell Stock IV

Java

题解

Hard

189

Rotate Array

Java

题解

Easy

190

Reverse Bits

Java

题解

Easy

191

Number of 1 Bits

Java

题解

Easy

198

House Robber

Java

题解

Easy

199

Binary Tree Right Side View

Java

题解

Medium

递归+DFS解法有意思

200

Number of Islands

Java

题解

Medium

202

Happy Number

Java

题解

Easy

204

Count Primes

Java

题解

Easy

206

Reverse Linked List

Java

题解

Easy

207

Course Schedule

Java

题解

Medium

208

Implement Trie (Prefix Tree)

Java

题解

Medium

210

Course Schedule II

Java

题解

Medium

215

Kth Largest Element in an Array

Java

题解

Medium

217

Contains Duplicate

Java

题解

Easy

221

Maximal Square

Java

题解

Medium

222

Count Complete Tree Nodes

Java

题解

Medium

226

Invert Binary Tree

Java

题解

Easy

227

Basic Calculator II

Java

题解

Medium

230

Kth Smallest Element in a BST

Java

题解

Medium

234

Palindrome Linked List

Java

题解

Easy

235

Lowest Common Ancestor of a Binary Search Tree

Java

题解

Easy

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

236

Lowest Common Ancestor of a Binary Tree

Java

题解

Medium

237

Delete Node in a Linked List

Java

题解

Easy

238

Product of Array Except Self

Java

题解

Medium

239

Sliding Window Maximum

Java

题解

Hard

240

Search a 2D Matrix II

Java

题解

Medium

242

Valid Anagram

Java

题解

Easy

257

Binary Tree Paths

Java

题解

Easy

268

Missing Number

Java

题解

Easy

279

Perfect Squares

Java

题解

Medium

283

Move Zeroes

Java

题解

Easy

287

Find the Duplicate Number

Java

题解

Medium

289

Game of Life

Java

题解

Medium

297

Serialize and Deserialize Binary Tree

Java

题解

Hard

注意思维误区!

300

Longest Increasing Subsequence

Java

题解

Medium

309

Best Time to Buy and Sell Stock with Cooldown

Java

题解

Medium

322

Coin Change

Java

题解

Medium

324

Wiggle Sort II

Java

题解

Medium

326

Power of Three

Java

题解

Easy

328

Odd Even Linked List

Java

题解

Medium

334

Increasing Triplet Subsequence

Java

题解

Medium

337

House Robber III

Java

题解

Medium

338

Counting Bits

Java

题解

Medium

341

Flatten Nested List Iterator

Java

题解

Medium

343

Integer Break

Java

题解

Medium

344

Reverse String

Java

题解

Easy

347

Top K Frequent Elements

Java

题解

Medium

350

Intersection of Two Arrays II

Java

题解

Easy

371

Sum of Two Integers

Java

题解

Easy

378

Kth Smallest Element in a Sorted Matrix

Java

题解

Medium

380

Insert Delete GetRandom O(1)

Java

题解

Medium

384

Shuffle an Array

Java

题解

Medium

387

First Unique Character in a String

Java

题解

Easy

394

Decode String

Java

题解

Medium

395

Longest Substring with At Least K Repeating Characters

Java

题解

Medium

406

Queue Reconstruction by Height

Java

题解

Medium

412

Fizz Buzz

Java

题解

Easy

416

Partition Equal Subset Sum

Java

题解

Medium

429

N-ary Tree Level Order Traversal

Java

题解

Medium

广度优先

437

Path Sum III

Java

题解

Medium

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

438

Find All Anagrams in a String

Java

题解

Medium

444

Sequence Reconstruction

Java

题解

Medium

448

Find All Numbers Disappeared in an Array

Java

题解

Easy

450

Delete Node in a BST

Java

题解

Medium

453

Minimum Moves to Equal Array Elements

Java

题解

Medium

454

4Sum II

Java

题解

Medium

462

Minimum Moves to Equal Array Elements II

Java

题解

Medium

快速选择

494

Target Sum

Java

题解

Medium

501

Find Mode in Binary Search Tree

Java

题解

Easy

509

Fibonacci Number

Java

题解

Easy

513

Find Bottom Left Tree Value

Java

题解

Medium

515

Find Largest Value in Each Tree Row

Java

题解

Medium

层序遍历

523

Continuous Subarray Sum

Java

题解

Medium

前缀和

530

Minimum Absolute Difference in BST

Java

题解

Easy

538

Convert BST to Greater Tree

Java

题解

Easy

543

Diameter of Binary Tree

Java

题解

Easy

560

Subarray Sum Equals K

Java

题解

Medium

前缀和

567

Permutation in String

Java

题解

Medium

581

Shortest Unsorted Continuous Subarray

Java

题解

Easy

617

Merge Two Binary Trees

Java

题解

Easy

621

Task Scheduler

Java

题解

Medium

647

Palindromic Substrings

Java

题解

Medium

654

Maximum Binary Tree

Java

题解

Medium

669

Trim a Binary Search Tree

Java

题解

Easy

700

Search in a Binary Search Tree

Java

题解

Easy

701

Insert into a Binary Search Tree

Java

题解

Medium

704

Binary Search

Java

题解

Easy

713

Subarray Product Less Than K

Java

题解

Medium

滑动窗口

714

Best Time to Buy and Sell Stock with Transaction Fee

Java

题解

Medium

752

Open the Lock

Java

题解

Medium

876

Middle of the Linked List

Java

题解

Easy

992

Subarrays with K Different Integers

Java

题解

Hard