最近找工作,免不了看CC150 刷 LeetCode 来练手,练习之余也向各路大神 系统并且深入的学习、巩固一下算法知识。
一. 线性表
1. 数组
Remove Duplicates from Sorted Array
Remove Duplicates from Sorted Array II
Search in Rotated Sorted Array
Search in Rotated Sorted Array II
Median of Two Sorted Arrays
Longest Consecutive Sequence
3Sum
3Sum Closet
4Sum
Remove Element
Next Permutation
Permutation Sequence
Valid Sudoku
Trapping Rain Water
Rotate Image
Plus One
Climbing Stairs
Gray Code
Set Matrix Zeroes
Gas Station
Candy
Single Member
Single Member II
2. 单链表
Add Two Numbers
Reverse Linked List II
Partition List
Remove Duplicates from Sorted List
Remove Duplicates from Sorted List II
Rotate List
Remove Nth Node From End of List
Swap Nodes in Pairs
Reverse Nodes in k-Group
Copy List with Random Pointer
Linked List Cycle
Linked List Cycle II
Reorder List
二. 字符串
Valid Palindrome
Implement strStr()
String to Integer(atoi)
Add Binary
Longest Palindromic Substring
Regular Expression Matching
Wildcard Matching
Longest Common Prefix
Valid Number
Integer to Roman
Roman to Integer
Count and Say
Anagrams
Simplify Path
Length of Last Word
三. 栈和队列
1. 栈
Valid Parentheses
Longest Valid parentheses
Largest Rectangle in Histogram
2. 队列
四. 树
1. 二叉树的遍历
Binary Tree Preorder Traversal
Binary Tree Inorder Traversal
Binary Tree Postorder Traversal
Binary Tree Level Order Traversal
Binary Tree Level Order Traversal II
Binary Tree Zigzag Level Order Traversal
Recover Binary Search Tree
Same Tree
Symmetric Tree
Balanced Binary Tree
Flatten Binary Tree to Linked List
Populating Next Right Pointers in Each Node II
2. 二叉树的构建
Construct Binary Tree from Preorder and Inorder Traversal
Construct Binary Tree from Inorder and Postorder Traversal
3. 二叉查找树
Unique Binary Search Trees
Unique Binary Search Trees II
Validate Binary Search Tree
Convert Sorted Array to Binary Search Tree
Convert Sorted List to Binary Search Tree
4. 二叉树的递归
Minimum Depth of Binary Tree
Maximum Depth of Binary Tree
Path Sum
Path Sum II
Binary Tree Maximum Path Sum
Populating next Right Pointers in Each Node
Sum Root to Leaf Numbers
五. 排序
Merge Sorted Array
Merge Two Sorted Lists
Merge k Sorted Lists
First Missing Positive
Sort Colors
六. 查找
Search for a Range
Search Insert Position
Search a 2D Matrix
七. 暴力枚举法
Subsets
递归
迭代
Subsets II
递归
迭代
Permutations
next_permutation()
重新实现next_permutation()
递归
Permutations II
next_permutation()
重新实现next_permutation()
递归
Combinations
递归
迭代
Letter Combinations of a Phone Number
递归
迭代
八. 广度优先搜索
Word Ladder
Word Ladder II
Surrounded Regions
九. 深度优先搜索
Palindrome Partitioning
Unique Paths
Unique Paths II
N-Queens
N-Queens II
Restore IP Addresses
Combination Sum
Combination Sum II
Generate Parentheses
Sudoku Solver
Word Search
十. 分治法
Pow(x,n)
Sqrt(x)
十一. 贪心法
Jump Game
Jump Game II
Best Time to Buy and Sell Stock
Best Time to Buy and Sell Stock II
Longest Substring Without Repeating Characters
Container With Most Water
十二. 动态规划
Triangle
Maximum Subarray
Palindrome Partitioning II
Maximal Rectangle
BestTime to Buy and Sell Stock III
Interleaving String
Scramble String
Minimum Path Sum
Edit Distance
Decode Ways
Distinct Subsequences
Word Break
Word Break II
十三. 图
Clone Graph
十四. 细节实现题
Reverse Integer
Palindrome Number
Two Sum
Insert Interval
Merge Intervals
Minimum Window Substring
Multiply Strings
Substring with Concatenation of All Words
Pascal‘s Triangle
Pascal‘s Triangle II
Spiral Matrix
Spiral Matrix II
Zigzag Conversion
Divide Two Integers
Text Justification
LeetCode 刷题总结
时间: 2024-10-10 07:58:27
LeetCode 刷题总结的相关文章
【leetcode刷题笔记】Sum Root to Leaf Numbers
Given a binary tree containing digits from 0-9 only, each root-to-leaf path could represent a number. An example is the root-to-leaf path 1->2->3 which represents the number 123. Find the total sum of all root-to-leaf numbers. For example, 1 / 2 3 T
leetcode 刷题之路 63 Binary Tree Zigzag Level Order Traversal
Given a binary tree, return the zigzag level order traversal of its nodes' values. (ie, from left to right, then right to left for the next level and alternate between). For example: Given binary tree {3,9,20,#,#,15,7}, 3 / 9 20 / 15 7 return its zig
leetcode 刷题之路 64 Construct Binary Tree from Inorder and Postorder Traversal
Given inorder and postorder traversal of a tree, construct the binary tree. Note: You may assume that duplicates do not exist in the tree. 给出二叉树的中序遍历和后序遍历结果,恢复出二叉树. 后序遍历序列的最后一个元素值是二叉树的根节点的值,查找该元素在中序遍历序列中的位置mid,根据中序遍历和后序遍历性质,有: 位置mid以前的序列部分为二叉树根节点左子树中
【leetcode刷题笔记】Longest Consecutive Sequence
Given an unsorted array of integers, find the length of the longest consecutive elements sequence. For example,Given [100, 4, 200, 1, 3, 2],The longest consecutive elements sequence is [1, 2, 3, 4]. Return its length: 4. Your algorithm should run in
【leetcode刷题笔记】Remove Duplicates from Sorted Array II
Follow up for "Remove Duplicates":What if duplicates are allowed at most twice? For example,Given sorted array A = [1,1,1,2,2,3], Your function should return length = 5, and A is now [1,1,2,2,3]. 题解: 设置两个变量:右边kepler和前向游标forward.如果当前kepeler所指的元素和
【leetcode刷题笔记】Restore IP Addresses
Given a string containing only digits, restore it by returning all possible valid IP address combinations. For example:Given "25525511135", return ["255.255.11.135", "255.255.111.35"]. (Order does not matter) 题解:深度优先搜索.用resul
【leetcode刷题笔记】Path Sum
Given a binary tree and a sum, determine if the tree has a root-to-leaf path such that adding up all the values along the path equals the given sum. For example:Given the below binary tree and sum = 22, 5 / 4 8 / / 11 13 4 / \ 7 2 1 return true, as t
【leetcode刷题笔记】Insertion Sort List
Sort a linked list using insertion sort. 题解:实现链表的插入排序. 要注意的地方就是,处理链表插入的时候尽量往当前游标的后面插入,而不要往前面插入,后者非常麻烦.所以每次利用kepeler.next.val和head.val比较大小,而不是kepeler.val和head.val比较大小,因为如果用后者,要把head指向的节点插入到kepeler指向的节点的前面,如果kepeler指向的节点是头结点,就更麻烦了. 代码如下: 1 /** 2 * Defi
【leetcode刷题笔记】Max Points on a Line
Given n points on a 2D plane, find the maximum number of points that lie on the same straight line. 题解: 思路比较简单,每条直线都可以表示为y=kx+b,所以对于任意三点,如果它们共线,那么它们中任意两点的斜率都相等. 所以就遍历points数组,对其中的每一个元素计算它和位于它后面的数组元素的斜率并保存在一个hashmap中. 这个hashmap的键就是两点构成直线的斜率,值就是和当前元素po
【leetcode刷题笔记】Spiral Matrix II
Given an integer n, generate a square matrix filled with elements from 1 to n2 in spiral order. For example,Given n = 3, You should return the following matrix: [ [ 1, 2, 3 ], [ 8, 9, 4 ], [ 7, 6, 5 ] ] 题解:以前做过的Spiral Matrix是给一个矩阵螺旋式的输出,这道题是给一个n,螺旋式的