mirror of
https://github.com/halfrost/LeetCode-Go.git
synced 2025-07-04 08:02:30 +08:00
LeetCode by Go
[LeetCode Online Judge] (https://leetcode.com/) is a website containing many algorithm questions. Most of them are real interview questions of Google, Facebook, LinkedIn, Apple, etc. This repo shows my solutions by Go with the code style strictly follows the Google Golang Style Guide. Please feel free to reference and STAR to support this repo, thank you!
数据结构
数据结构 | 变种 | 相关题目 |
---|---|---|
顺序线性表:向量 | ||
单链表 | 1.双链表 2.静态链表 3.对称矩阵 4.稀疏矩阵 |
|
栈 | 广义栈 | |
队列 | 1.链表实现 2.循环数组实现 3.双端队列 |
|
字符串 | 1.KMP算法 2.有限状态自动机 3.模式匹配有限状态自动机 4.BM模式匹配算法 5.BM-KMP算法 |
|
树 | 1.二叉树 2.并查集 3.Huffman数 |
|
数组实现的堆 | 1.极大堆和极小堆 2.极大极小堆 3.双端堆 4.d叉堆 |
|
树实现的堆 | 1.左堆 2.扁堆 3.二项式堆 4.斐波那契堆 5.配对堆 |
|
查找 | 1.哈希表 2.跳跃表 3.排序二叉树 4.AVL树 5.B树 6.AA树 7.红黑树 8.排序二叉堆 9.Splay树 10.双链树 11.Trie树 |
Data Structures
- Array
- String
- Linked List
- Stack
- Tree
- Dynamic programming
- Depth-first search
- Math
- Search
- Sort
- Union Find
Companies
算法
一. 目录
二.分类
Array
String
Linked List
Title | Solution | Difficulty | Time | Space |
---|---|---|---|---|
Reverse Linked List | Swift | Easy | O(n) | O(1) |
Palindrome Linked List | Swift | Easy | O(n) | O(1) |
Swap Nodes in Pairs | Swift | Easy | O(n) | O(1) |
Remove Linked List Elements | Swift | Easy | O(n) | O(1) |
Remove Duplicates from Sorted List | Swift | Easy | O(n) | O(1) |
Remove Duplicates from Sorted List II | Swift | Medium | O(n) | O(1) |
Remove Nth Node From End of List | Swift | Easy | O(n) | O(1) |
Odd Even Linked List | Swift | Medium | O(n) | O(1) |
Rotate List | Swift | Medium | O(n) | O(1) |
Reorder List | Swift | Medium | O(n) | O(1) |
Merge Two Sorted Lists | Swift | Easy | O(n) | O(1) |
Merge k Sorted Lists | Swift | Hard | O(mlogn) | O(1) |
Partition List | Swift | Medium | O(n) | O(1) |
Stack
Title | Solution | Difficulty | Time | Space |
---|---|---|---|---|
Valid Parentheses | Swift | Easy | O(n) | O(n) |
Longest Valid Parentheses | Swift | Hard | O(n) | O(n) |
Evaluate Reverse Polish Notation | Swift | Medium | O(n) | O(n) |
Simplify Path | Swift | Medium | O(n) | O(n) |
Remove K Digits | Swift | Medium | O(n) | O(n) |
Ternary Expression Parser | Swift | Medium | O(n) | O(n) |
Binary Tree Preorder Traversal | Swift | Medium | O(n) | O(n) |
Binary Tree Inorder Traversal | Swift | Medium | O(n) | O(n) |
Binary Tree Postorder Traversal | Swift | Hard | O(n) | O(n) |
Tree
Dynamic programming
Depth-first search
Title | Solution | Difficulty | Time | Space |
---|---|---|---|---|
Permutations | Swift | Medium | O(n!) | O(n) |
Permutations II | Swift | Medium | O(n!) | O(n) |
Subsets | Swift | Medium | O(n!) | O(n) |
Subsets II | Swift | Medium | O(n!) | O(n) |
Combinations | Swift | Medium | O(n!) | O(n) |
Combination Sum | Swift | Medium | O(n^n) | O(2^n - 1) |
Combination Sum II | Swift | Medium | O(n!) | O(2^n - 2) |
Combination Sum III | Swift | Medium | O(n!) | O(nCk) |
Letter Combinations of a Phone Number | Swift | Medium | O(mn) | O(n) |
Factor Combinations | Swift | Medium | O(n^n)) | O(2^n - 1) |
Generalized Abbreviation | Swift | Medium | O(n!) | O(2^n) |
Palindrome Partitioning | Swift | Medium | O(n!) | O(n) |
Number of Islands | Swift | Medium | O((mn)^2) | O(1) |
Walls and Gates | Swift | Medium | O(n!) | O(2^n) |
Word Search | Swift | Medium | O((n^2)!) | O(n^2) |
Word Search II | Swift | Hard | O(((mn)^2)) | O(n^2) |
Add and Search Word - Data structure design | Swift | Medium | O(n) | O(n) |
N-Queens | Swift | Hard | O((n^4)) | O(n^2) |
N-Queens II | Swift | Hard | O((n^3)) | O(n) |
Sudoku Solver | Swift | Hard | O(n^4) | O(1) |
Remove Invalid Parentheses | Swift | Hard | O(n!) | O(n) |
Expression Add Operators | Swift | Hard | O(n!) | O(n) |
Math
Search
Title | Solution | Difficulty | Time | Space |
---|---|---|---|---|
Closest Binary Search Tree Value | Swift | Easy | O(logn) | O(1) |
Closest Binary Search Tree Value II | Swift | Hard | O(n) | O(n) |
Search in Rotated Sorted Array | Swift | Hard | O(logn) | O(1) |
Search in Rotated Sorted Array II | Swift | Medium | O(logn) | O(1) |
Find Minimum in Rotated Sorted Array | Swift | Medium | O(logn) | O(1) |
Find Minimum in Rotated Sorted Array II | Swift | Hard | O(logn) | O(1) |
Search a 2D Matrix | Swift | Medium | O(log(m + n)) | O(1) |
Search a 2D Matrix II | Swift | Medium | O(m + n) | O(1) |
Search for a Range | Swift | Medium | O(logn) | O(1) |
Search Insert Position | Swift | Medium | O(logn) | O(1) |
Find Peak Element | Swift | Medium | O(logn) | O(1) |
Sqrt(x) | Swift | Medium | O(logn) | O(1) |
Median of Two Sorted Arrays | Swift | Hard | O(log(m + n)) | O(1) |
Sort
Title | Solution | Difficulty | Time | Space |
---|---|---|---|---|
Merge Sorted Array | Swift | Easy | O(n) | O(1) |
Sort Colors | Swift | Medium | O(n) | O(1) |
Wiggle Sort | Swift | Medium | O(n) | O(1) |
Wiggle Sort II | Swift | Medium | O(nlogn) | O(n) |
Sort Transformed Array | Swift | Medium | O(n) | O(1) |
Top K Frequent Elements | Swift | Medium | O(nlogn) | O(n) |
Meeting Rooms | Swift | Easy | O(nlogn) | O(1) |
Meeting Rooms II | Swift | Medium | O(nlogn) | O(n) |
Merge Intervals | Swift | Hard | O(nlogn) | O(n) |
Alien Dictionary | Swift | Hard | O(nm) | O(nm) |
Array Partition I | Swift | Easy | O(nlogn) | O(n) |
Union Find
Title | Solution | Difficulty | Time | Space |
---|---|---|---|---|
Number of Connected Components in an Undirected Graph | Swift | Medium | O(nlogn) | O(n) |
Graph Valid Tree | Swift | Medium | O(nlogn) | O(n) |
Title | Solution | Difficulty | Frequency |
---|---|---|---|
Plus One | Swift | Easy | ★★★★★★ |
Number of Islands | Swift | Medium | ★★★★ |
Summary Ranges | Swift | Medium | ★★★★ |
Perfect Squares | Swift | Medium | ★★★★ |
Merge Intervals | Swift | Hard | ★★★ |
Valid Parentheses | Swift | Easy | ★★★ |
Trapping Rain Water | Swift | Hard | ★★ |
Merge k Sorted Lists | Swift | Hard | ★★ |
Longest Consecutive Sequence | Swift | Hard | ★★ |
Find Peak Element | Swift | Medium | ★★ |
Power of Two | Swift | Easy | ★★ |
Spiral Matrix | Swift | Medium | ★★ |
Sliding Window Maximum | Swift | Hard | ★★ |
Pow(x, n) | Swift | Medium | ★★ |
Letter Combinations of a Phone Number | Swift | Medium | ★★ |
Heaters | Swift | Easy | ★ |
Title | Solution | Difficulty | Frequency |
---|---|---|---|
3Sum | Swift | Medium | ★★★★★★ |
Valid Palindrome | Swift | Easy | ★★★★★★ |
Valid Palindrome II | Swift | Easy | ★★★★★★ |
Move Zeroes | Swift | Easy | ★★★★★★ |
Remove Invalid Parentheses | Swift | Hard | ★★★★★★ |
Add Binary | Swift | Easy | ★★★★★ |
Two Sum | Swift | Easy | ★★★★★ |
Bnary Tree Paths | Swift | Easy | ★★★★ |
Letter Combinations of a Phone Number | Swift | Medium | ★★★★ |
Merge k Sorted Lists | Swift | Hard | ★★★★ |
Reverse Linked List | Swift | Easy | ★★★ |
Merge Intervals | Swift | Hard | ★★★ |
Number of Islands | Swift | Medium | ★★★ |
Reverse Linked List | Swift | Easy | ★★★ |
Expression Add Operators | Swift | Hard | ★★★ |
Subsets | Swift | Medium | ★★★ |
Sort Colors | Swift | Medium | ★★ |
Snapchat
Title | Solution | Difficulty | Frequency |
---|---|---|---|
Game of Life | Swift | Medium | ★★★★★★ |
Meeting Rooms II | Swift | Medium | ★★★★★★ |
Valid Sudoku | Swift | Easy | ★★★★★ |
Binary Tree Vertical Order Traversal | Swift | Medium | ★★★★ |
Alien Dictionary | Swift | Hard | ★★★★ |
One Edit Distance | Swift | Medium | ★★★ |
Sudoku Solver | Swift | Hard | ★★★ |
Reverse Linked List | Swift | Easy | ★★ |
Unique Binary Search Trees | Swift | Medium | ★★ |
Minimum Window Substring | Swift | Hard | ★★ |
Remove K Digits | Swift | Medium | ★ |
Ternary Expression Parser | Swift | Medium | ★ |
Uber
Title | Solution | Difficulty | Frequency |
---|---|---|---|
Valid Sudoku | Swift | Easy | ★★★★ |
Spiral Matrix | Swift | Medium | ★★★★ |
Letter Combinations of a Phone Number | Swift | Medium | ★★★★ |
Group Anagrams | Swift | Medium | ★★★★ |
Word Pattern | Swift | Easy | ★★★ |
Roman to Integer | Swift | Easy | ★★★ |
Combination Sum | Swift | Medium | ★★ |
Airbnb
Title | Solution | Difficulty | Frequency |
---|---|---|---|
Two Sum | Swift | Easy | ★★★★★ |
Text Justification | Swift | Hard | ★★★★ |
House Robber | Swift | Easy | ★★ |
Single Number | Swift | Medium | ★★ |
Word Search II | Swift | Hard | ★★ |
Add Two Numbers | Swift | Medium | ★★ |
Title | Solution | Difficulty | Frequency |
---|---|---|---|
Maximum Subarray | Swift | Medium | ★★★★★★ |
Pow(x, n) | Swift | Medium | ★★★★★★ |
Merge Intervals | Swift | Hard | ★★★★★★ |
Isomorphic Strings | Swift | Easy | ★★★★★★ |
Search in Rotated Sorted Array | Swift | Hard | ★★★★★ |
Search for a Range | Swift | Medium | ★★★★★ |
Two Sum | Swift | Easy | ★★★★ |
Binary Tree Level Order Traversal | Swift | Easy | ★★★★ |
Evaluate Reverse Polish Notation | Swift | Medium | ★★★ |
Maximum Product Subarray | Swift | Medium | ★★★ |
Product of Array Except Self | Swift | Medium | ★★★ |
Symmetric Tree | Swift | Easy | ★★ |
Amazon
Title | Solution | Difficulty | Frequency |
---|---|---|---|
Two Sum | Swift | Easy | ★★★★★★ |
Min Cost Climbing Stairs | Swift | Easy | ★★★★ |
Number of Islands | Swift | Medium | ★★ |
Add Two Numbers | Swift | Medium | ★★ |
Reverse Linked List | Swift | Easy | ★★ |
Valid Parentheses | Swift | Easy | ★★ |
Longest Palindromic Substring | Swift | Medium | ★★ |
Trapping Rain Water | Swift | Hard | ★★ |
Longest Substring Without Repeating Characters | Swift | Medium | ★★ |
Letter Combinations of a Phone Number | Swift | Medium | ★★ |
Valid Anagram | Swift | Easy | ★★ |
Rotate Image | Swift | Medium | ★★ |
Best Time to Buy and Sell Stock | Swift | Easy | ★★ |
3Sum | Swift | Medium | ★★ |
Sliding Window Maximum | Swift | Hard | ★★ |
Microsoft
Title | Solution | Difficulty | Frequency |
---|---|---|---|
Reverse Linked List | Swift | Easy | ★★★★★★ |
Two Sum | Swift | Easy | ★★★★★ |
String to Integer (atoi) | Swift | Easy | ★★★★ |
Add Two Numbers | Swift | Medium | ★★★★ |
Excel Sheet Column Number | Swift | Easy | ★★★★ |
Validate Binary Search Tree | Swift | Medium | ★★★ |
Merge Two Sorted Lists | Swift | Easy | ★★★ |
Description
✅ Solutions to LeetCode by Go, 100% test coverage, runtime beats 100% / LeetCode 题解
acm-icpcalgoalgorithmalgorithm-competitionsalgorithmsalgorithms-and-data-structuresdynamic-programmingfacebookgogolanginterview-questionsleetcodeleetcode-goleetcode-golangleetcode-solutionsmathpattern
Readme
MIT
20 MiB
Languages
Go
92.3%
HTML
5.4%
SCSS
1.3%
CSS
0.4%
JavaScript
0.3%
Other
0.3%