# LeetCode题目难度分布（含面试频率及使用的数据结构与算法）

 ID Question Diff Freq Data Structure Algorithms

 1 Two Sum 2 5 array sort set Two Pointers 2 Add Two Numbers 3 4 linked list Two Pointers Math 3 Longest Substring Without Repeating Characters 3 2 string Two Pointers hashtable 4 Median of Two Sorted Arrays 5 3 array Binary Search 5 Longest Palindromic Substring 4 2 string 6 ZigZag Conversion 3 1 string 7 Reverse Integer 2 3 Math 8 String to Integer (atoi) 2 5 string Math 9 Palindrome Number 2 2 Math 10 Regular Expression Matching 5 3 string Recursion DP 11 Container With Most Water 3 2 array Two Pointers 12 Integer to Roman 3 4 Math 13 Roman to Integer 2 4 Math 14 Longest Common Prefix 2 1 string 15 3Sum 3 5 array Two Pointers 16 3Sum Closest 3 1 array Two Pointers 17 Letter Combinations of a Phone Number 3 3 string DFS 18 4Sum 3 2 array 19 Remove Nth Node From End of List 2 3 linked list Two Pointers 20 Valid Parentheses 2 5 string Stack 21 Merge Two Sorted Lists 2 5 linked list sort Two Pointers merge 22 Generate Parentheses 3 4 string DFS 23 Merge k Sorted Lists 3 4 linked list sort heap Two Pointers merge 24 Swap Nodes in Pairs 2 4 linked list 25 Reverse Nodes in k-Group 4 2 linked list Recursion Two Pointers 26 Remove Duplicates from Sorted Array 1 3 array Two Pointers 27 Remove Element 1 4 array Two Pointers 28 Implement strStr() 4 5 string Two Pointers KMP rolling hash 29 Divide Two Integers 4 3 Binary Search Math 30 Substring with Concatenation of All Words 3 1 string Two Pointers 31 Next Permutation 5 2 array permutation 32 Longest Valid Parentheses 4 1 string DP 33 Search in Rotated Sorted Array 4 3 array Binary Search 34 Search for a Range 4 3 array Binary Search 35 Search Insert Position 2 2 array 36 Valid Sudoku 2 2 array 37 Sudoku Solver 4 2 array DFS 38 Count and Say 2 2 string Two Pointers 39 Combination Sum 3 3 array combination 40 Combination Sum II 4 2 array combination 41 First Missing Positive 5 2 array sort 42 Trapping Rain Water 4 2 array Two Pointers Stack 43 Multiply Strings 4 3 string Two Pointers Math 44 Wildcard Matching 5 3 string Recursion DP greedy 45 Jump Game II 4 2 array 46 Permutations 3 4 array permutation 47 Permutations II 4 2 array permutation 48 Rotate Image 4 2 array 49 Anagrams 3 4 string hashtable 50 Pow(x, n) 3 5 Binary Search Math 51 N-Queens 4 3 array DFS 52 N-Queens II 4 3 array DFS 53 Maximum Subarray 3 3 array DP 54 Spiral Matrix 4 2 array 55 Jump Game 3 2 array 56 Merge Intervals 4 5 array sort linked list merge red-black tree 57 Insert Interval 4 5 array sort linked list merge red-black tree 58 Length of Last Word 1 1 string 59 Spiral Matrix II 3 2 array 60 Permutation Sequence 5 1 permutation Math 61 Rotate List 3 2 linked list Two Pointers 62 Unique Paths 2 3 array DP 63 Unique Paths II 3 3 array DP 64 Minimum Path Sum 3 3 array DP 65 Valid Number 2 5 string Math 66 Plus One 1 2 array Math 67 Add Binary 2 4 string Two Pointers Math 68 Text Justification 4 2 string 69 Sqrt(x) 4 4 Binary Search 70 Climbing Stairs 2 5 DP 71 Simplify Path 3 1 string Stack 72 Edit Distance 4 3 string DP 73 Set Matrix Zeroes 3 5 array 74 Search a 2D Matrix 3 3 array Binary Search 75 Sort Colors 4 2 array sort Two Pointers 76 Minimum Window Substring 4 2 string Two Pointers 77 Combinations 3 4 combination 78 Subsets 3 4 array Recursion combination 79 Word Search 3 4 array DFS 80 Remove Duplicates from Sorted Array II 2 2 array Two Pointers 81 Search in Rotated Sorted Array II 5 3 array Binary Search 82 Remove Duplicates from Sorted List II 3 3 linked list Recursion Two Pointers 83 Remove Duplicates from Sorted List 1 3 linked list 84 Largest Rectangle in Histogram 5 2 array Stack 85 Maximal Rectangle 5 1 array DP Stack 86 Partition List 3 3 linked list Two Pointers 87 Scramble String 5 2 string Recursion DP 88 Merge Sorted Array 2 5 array Two Pointers merge 89 Gray Code 4 2 combination 90 Subsets II 4 2 array Recursion combination 91 Decode Ways 3 4 string Recursion DP 92 Reverse Linked List II 3 2 linked list Two Pointers 93 Restore IP Addresses 3 3 string DFS 94 Binary Tree Inorder Traversal 4 3 tree Recursion hashtable morris Stack 95 Unique Binary Search Trees II 4 1 tree DP DFS 96 Unique Binary Search Trees 3 1 tree DP 97 Interleaving String 5 2 string Recursion DP 98 Validate Binary Search Tree 3 5 tree DFS 99 Recover Binary Search Tree 4 2 tree DFS 100 Same Tree 1 1 tree DFS 101 Symmetric Tree 1 2 tree DFS 102 Binary Tree Level Order Traversal 3 4 tree BFS 103 Binary Tree Zigzag Level Order Traversal 4 3 queue BFS tree Stack 104 Maximum Depth of Binary Tree 1 1 tree DFS 105 Construct Binary Tree from Preorder and Inorder Tr 3 3 array DFS tree 106 Construct Binary Tree from Inorder and Postorder T 3 3 array DFS tree 107 Binary Tree Level Order Traversal II 3 1 tree BFS 108 Convert Sorted Array to Binary Search Tree 2 3 tree DFS 109 Convert Sorted List to Binary Search Tree 4 3 linked list Recursion Two Pointers 110 Balanced Binary Tree 1 2 tree DFS 111 Minimum Depth of Binary Tree 1 1 tree DFS 112 Path Sum 1 3 tree DFS 113 Path Sum II 2 2 tree DFS 114 Flatten Binary Tree to Linked List 3 3 tree Recursion Stack 115 Distinct Subsequences 4 2 string DP 116 Populating Next Right Pointers in Each Node 3 3 tree DFS 117 Populating Next Right Pointers in Each Node II 4 2 tree DFS 118 Pascal's Triangle 2 1 array 119 Pascal's Triangle II 2 1 array 120 Triangle 3 1 array DP 121 Best Time to Buy and Sell Stock 2 1 array DP 122 Best Time to Buy and Sell Stock II 3 1 array greedy 123 Best Time to Buy and Sell Stock III 4 1 array DP 124 Binary Tree Maximum Path Sum 4 2 tree DFS 125 Valid Palindrome 2 5 string Two Pointers 126 Word Ladder II 1 1 127 Word Ladder 3 5 graph BFS shortest path 128 Longest Consecutive Sequence 4 3 array 129 Sum Root to Leaf Numbers 2 4 tree DFS 130 Surrounded Regions 4 3 array BFS DFS 131 Palindrome Partitioning 3 4 string DFS 132 Palindrome Partitioning II 4 3 string DP