# Leetcode-Java
**Repository Path**: ouchaochao/Leetcode-Java
## Basic Information
- **Project Name**: Leetcode-Java
- **Description**: No description available
- **Primary Language**: Java
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 1
- **Forks**: 0
- **Created**: 2021-06-09
- **Last Updated**: 2021-06-11
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# **Leetcode - Java**
## **一、电子书(pdf)**
Latex排版整理的电子书
- [Backtracking](https://github.com/dingjikerbo/leetcode/blob/master/ebook/backtracking/leetcode-backtracking.pdf)
- [Graph](https://github.com/dingjikerbo/leetcode/blob/master/ebook/graph/leetcode-graph.pdf)
- [Tree](https://github.com/dingjikerbo/leetcode/blob/master/ebook/tree/leetcode-tree.pdf)
- [DP](https://github.com/dingjikerbo/leetcode/blob/master/ebook/dp/leetcode-dp.pdf)
- [Array](https://github.com/dingjikerbo/leetcode/blob/master/ebook/array/leetcode-array.pdf)
- [List](https://github.com/dingjikerbo/leetcode/blob/master/ebook/list/leetcode-list.pdf)
## **二、文档列表**
- [刷题要点总结](https://github.com/dingjikerbo/leetcode/blob/master/doc/Attention.md)
- [Facebook面试总结](https://github.com/dingjikerbo/leetcode/blob/master/doc/Facebook.md)
- [Bitset技巧](https://github.com/dingjikerbo/leetcode/blob/master/doc/BitSet.md)
- [Map新接口](https://github.com/dingjikerbo/leetcode/blob/master/doc/Map.md)
- [其它题目](extras.md)
## **三、所有题目列表**
|#| Title |Solution|Score|Backup|
|---|-------------| ----- |----|---------|
|1|[Two Sum](https://leetcode.com/problems/two-sum/)|[Java](leetcode/solution/src/TwoSum.java)|100|
|2|[Add Two Numbers](https://leetcode.com/problems/add-two-numbers/)| [Java](leetcode/solution/src/AddTwoNumber.java)|80|
|3|[Longest Substring Without Repeating Characters](https://leetcode.com/problems/longest-substring-without-repeating-characters/)| [Java](leetcode/solution/src/LongestSubstringWithoutRepeatingCharacters.java)||这个系列的所有题都要多做几遍|
|4|[Median of Two Sorted Arrays](https://leetcode.com/problems/median-of-two-sorted-arrays/)| [Java](leetcode/solution/src/MedianOfTwoSortedArrays.java)|70|这题很经典,多做几遍|
|5|[Longest Palindromic Substring](https://leetcode.com/problems/longest-palindromic-substring/)| [Java](leetcode/solution/src/LongestPalindromicSubstring.java)|85|这题对比动态规划和最优算法|
|6|[ZigZag Conversion](https://leetcode.com/problems/zigzag-conversion/)| [Java](leetcode/solution/src/ZigZagConversion.java)||
|7|[Reverse Integer](https://leetcode.com/problems/reverse-integer/)| [Java](leetcode/solution/src/ReverseInteger.java)|95|
|8|[String to Integer (atoi)](https://leetcode.com/problems/string-to-integer-atoi/)| [Java](leetcode/solution/src/String2Integer.java)|90|很考代码能力,容易错|
|9|[Palindrome Number](https://leetcode.com/problems/palindrome-number/)| [Java](leetcode/solution/src/PalindromeNumber.java)||
|10|[Regular Expression Matching](https://leetcode.com/problems/regular-expression-matching/)| [Java](leetcode/solution/src/RegularExpressionMatching.java)|60|这题很经典,多做几遍,和#44一起|
|11|[Container With Most Water](https://leetcode.com/problems/container-with-most-water/)| [Java](leetcode/solution/src/ContainerWithMostWater.java)||
|12|[Integer to Roman](https://leetcode.com/problems/integer-to-roman/)| [Java](leetcode/solution/src/IntegerToRoman.java)||
|13|[Roman to Integer](https://leetcode.com/problems/roman-to-integer/)| [Java](leetcode/solution/src/RomanToInteger.java)||
|14|[Longest Common Prefix](https://leetcode.com/problems/longest-common-prefix/)| [Java](leetcode/solution/src/LongestCommonPrefix.java)||
|15|[3Sum](https://leetcode.com/problems/3sum/)| [Java](leetcode/solution/src/ThreeSum.java)|70|
|16|[3Sum Closest](https://leetcode.com/problems/3sum-closest/)| [Java](leetcode/solution/src/ThreeSumClosest.java)||
|17|[Letter Combinations of a Phone Number](https://leetcode.com/problems/letter-combinations-of-a-phone-number/)| [Java](leetcode/solution/src/LetterCombinationOfPhoneNumber.java)|85||
|18|[4Sum](https://leetcode.com/problems/4sum/)| [Java](leetcode/solution/src/FourSum.java)||
|19|[Remove Nth Node From End of List](https://leetcode.com/problems/remove-nth-node-from-end-of-list/)| [Java](leetcode/solution/src/RemoveNthNodeFromEndOfList.java)||
|20|[Valid Parentheses](https://leetcode.com/problems/valid-parentheses/)| [Java](leetcode/solution/src/ValidParentheses.java)|100|
|21|[Merge Two Sorted Lists](https://leetcode.com/problems/merge-two-sorted-lists/)| [Java](leetcode/solution/src/MergeTwoSortedList.java)|90|
|22|[Generate Parentheses](https://leetcode.com/problems/generate-parentheses/)| [Java](leetcode/solution/src/GenerateParentheses.java)|80|这题看两遍|
|23|[Merge k Sorted Lists](https://leetcode.com/problems/merge-k-sorted-lists/)| [Java](leetcode/solution/src/MergeKSortedList.java)|70|
|24|[Swap Nodes in Pairs](https://leetcode.com/problems/swap-nodes-in-pairs/)| [Java](leetcode/solution/src/SwapNodesInPairs.java)||
|25|[Reverse Nodes in k-Group](https://leetcode.com/problems/reverse-nodes-in-k-group/)| [Java](leetcode/solution/src/ReverseNodesInKGroup.java)|80|
|26|[Remove Duplicates from Sorted Array](https://leetcode.com/problems/remove-duplicates-from-sorted-array/)| [Java](leetcode/solution/src/RemoveDuplicatesFromSortedArray.java)|80|
|27|[Remove Element](https://leetcode.com/problems/remove-element/)| [Java](leetcode/solution/src/RemoveElement.java)||
|28|[ Implement strStr()](https://leetcode.com/problems/implement-strstr/)| [Java](leetcode/solution/src/StrStr.java)|70|
|29|[Divide Two Integers](https://leetcode.com/problems/divide-two-integers/)| [Java](leetcode/solution/src/DivideTwoIntegers.java)||
|30|[Substring with Concatenation of All Words](https://leetcode.com/problems/substring-with-concatenation-of-all-words/)| [Java](leetcode/solution/src/SubstringWithConcatenationOfAllWords.java)||
|31|[Next Permutation](https://leetcode.com/problems/next-permutation/)| [Java](leetcode/solution/src/NextPermutation.java)||
|32|[Longest Valid Parentheses](https://leetcode.com/problems/longest-valid-parentheses/)| [Java](leetcode/solution/src/LongestValidParentheses.java)||
|33|[Search in Rotated Sorted Array](https://leetcode.com/problems/search-in-rotated-sorted-array/)| [Java](leetcode/solution/src/SearchInRotatedSortedArray.java)|80|
|34|[Search for a Range](https://leetcode.com/problems/search-for-a-range/)| [Java](leetcode/solution/src/SearchForARange.java)||
|35|[Search Insert Position](https://leetcode.com/problems/search-insert-position/)| [Java](leetcode/solution/src/SearchInsertPosition.java)||
|36|[Valid Sudoku](https://leetcode.com/problems/valid-sudoku/#/description)| [Java](leetcode/solution/src/ValidSudoku.java)|80|
|37|[Sudoku Solver](https://leetcode.com/problems/sudoku-solver/#/description)| [Java](leetcode/solution/src/SudokuSolver.java)|70|这道题是典型的back tracking,多做几遍|
|38|[Count and Say](https://leetcode.com/problems/count-and-say/)| [Java](leetcode/solution/src/CountAndSay.java)|80|
|39|[Combination Sum](https://leetcode.com/problems/combination-sum/)| [Java](leetcode/solution/src/CombinationSum.java)|70|排列组合系列的题要多做几遍|
|40|[Combination Sum II](https://leetcode.com/problems/combination-sum-ii/)| [Java](leetcode/solution/src/CombinationSumII.java)|70|
|41|[First Missing Positive](https://leetcode.com/problems/first-missing-positive/#/description)| [Java](leetcode/solution/src/FirstMissingPositive.java)||
|42|[Trapping Rain Water](https://leetcode.com/problems/trapping-rain-water/)| [Java](leetcode/solution/src/TrappingRainWater.java)|95|
|43|[Multiply Strings](https://leetcode.com/problems/multiply-strings/)| [Java](leetcode/solution/src/MultiplyStrings.java)|80|
|44|[Wildcard Matching](https://leetcode.com/problems/wildcard-matching/)| [Java](leetcode/solution/src/WildcardMatching.java)|60|和#10多做几遍|
|45|[Jump Game II](https://leetcode.com/problems/jump-game-ii/#/description)| [Java](leetcode/solution/src/JumpGameII.java)||
|46|[Permutations](https://leetcode.com/problems/permutations/)| [Java](leetcode/solution/src/Permutations.java)||
|47|[Permutations II](https://leetcode.com/problems/permutations-ii/)| [Java](leetcode/solution/src/PermutationsII.java)|70|多做几遍|
|48|[Rotate Image](https://leetcode.com/problems/rotate-image/)| [Java](leetcode/solution/src/RotateImage.java)|100|
|49|[Group Anagrams](https://leetcode.com/problems/anagrams/)| [Java](leetcode/solution/src/GroupAnagrams.java)|95|
|50|[Pow(x, n)](https://leetcode.com/problems/powx-n/)| [Java](leetcode/solution/src/Pow.java)|80|
|51|[N-Queens](https://leetcode.com/problems/n-queens/)| [Java](leetcode/solution/src/NQueens.java)||
|52|[N-Queens II](https://leetcode.com/problems/n-queens-ii/)| [Java](leetcode/solution/src/NQueensII.java)||
|53|[Maximum Subarray](https://leetcode.com/problems/maximum-subarray/)| [Java](leetcode/solution/src/MaximumSubarray.java)|95|
|54|[Spiral Matrix](https://leetcode.com/problems/spiral-matrix/)| [Java](leetcode/solution/src/SpiralMatrix.java)|85||
|55|[Jump Game](https://leetcode.com/problems/jump-game/#/description)| [Java](leetcode/solution/src/JumpGame.java)||
|56|[Merge Intervals](https://leetcode.com/problems/merge-intervals/)| [Java](leetcode/solution/src/MergeIntervals.java)|70|
|57|[Insert Interval](https://leetcode.com/problems/insert-interval/)| [Java](leetcode/solution/src/InsertInterval.java)|75|这题要多做几遍|
|60|[Permutation Sequence](https://leetcode.com/problems/permutation-sequence/)| [Java](leetcode/solution/src/PermutationSequence.java)|70|这题思路巧妙,多做两遍|
|61|[Rotate List](https://leetcode.com/problems/rotate-list/)| [Java](leetcode/solution/src/RotateList.java)|90||
|66|[Plus One](https://leetcode.com/problems/plus-one/)| [Java](leetcode/solution/src/PlusOne.java)|100|这题多看一遍|
|67|[Add Binary](https://leetcode.com/problems/add-binary/)| [Java](leetcode/solution/src/AddBinary.java)|100|
|68|[Text Justification](https://leetcode.com/problems/text-justification/)| [Java](leetcode/solution/src/TextJustification.java)||
|69|[Sqrt(x)](https://leetcode.com/problems/sqrtx/)| [Java](leetcode/solution/src/Sqrt.java)|85|
|71|[Simplify Path](https://leetcode.com/problems/simplify-path/)| [Java](leetcode/solution/src/SimplifyPath.java)|80|
|72|[Edit Distance](https://leetcode.com/problems/edit-distance/)| [Java](leetcode/solution/src/EditDistance.java)|75|
|73|[Set Matrix Zeroes](https://leetcode.com/problems/set-matrix-zeroes/description/)| [Java](leetcode/solution/src/SetMatrixZeroes.java)|90|
|74|[Search a 2D Matrix](https://leetcode.com/problems/search-a-2d-matrix/)| [Java](leetcode/solution/src/Search2DMatrix.java)||
|75|[Sort Colors](https://leetcode.com/problems/sort-colors/)| [Java](leetcode/solution/src/SortColors.java)|65|这题多做几遍,很有意思|
|76|[Minimum Window Substring](https://leetcode.com/problems/minimum-window-substring/)| [Java](leetcode/solution/src/MinimumWindowSubstring.java)|50|这题以及类似的题一定要多做几遍,很经典,参见window|
|77|[Combinations](https://leetcode.com/problems/combinations)| [Java](leetcode/solution/src/Combinations.java)||
|78|[Subsets](https://leetcode.com/problems/subsets/)| [Java](leetcode/solution/src/Subsets.java)|85|
|79|[Word Search](https://leetcode.com/problems/word-search/)| [Java](leetcode/solution/src/WordSearch.java)|85|
|80|[Remove Duplicates from Sorted Array II](https://leetcode.com/problems/remove-duplicates-from-sorted-array-ii/)| [Java](leetcode/solution/src/RemoveDuplicatesFromSortedArrayII.java)|100|
|81|[Search in Rotated Sorted Array II](https://leetcode.com/problems/search-in-rotated-sorted-array-ii/)| [Java](leetcode/solution/src/SearchInRotatedSortedArrayII.java)|70|
|82|[Remove Duplicates from Sorted List II](https://leetcode.com/problems/remove-duplicates-from-sorted-list-ii/)| [Java](leetcode/solution/src/RemoveDuplicatesFromSortedListII.java)|75|
|83|[Remove Duplicates from Sorted List](https://leetcode.com/problems/remove-duplicates-from-sorted-list/)| [Java](leetcode/solution/src/RemoveDuplicatesFromSortedList.java)|100|
|84|[Largest Rectangle in Histogram](https://leetcode.com/problems/largest-rectangle-in-histogram/)| [Java](leetcode/solution/src/LargestRectangleInHistogram.java)|70|
|85|[Maximal Rectangle](https://leetcode.com/problems/maximal-rectangle/)| [Java](leetcode/solution/src/MaximalRectangle.java)|75|
|86|[Partition List](https://leetcode.com/problems/partition-list/)| [Java](leetcode/solution/src/PartitionList.java)|90||
|88|[Merge Sorted Array](https://leetcode.com/problems/merge-sorted-array/)| [Java](leetcode/solution/src/MergeSortedArray.java)|100|
|90|[Subsets II](https://leetcode.com/problems/subsets-ii/)| [Java](leetcode/solution/src/SubsetsII.java)|80|
|91|[Decode Ways](https://leetcode.com/problems/decode-ways/)| [Java](leetcode/solution/src/DecodeWays.java)|75|这题多做几遍,包括#639|
|92|[Reverse Linked List II](https://leetcode.com/problems/reverse-linked-list-ii/)| [Java](leetcode/solution/src/ReverseLinkedListII.java)|80||
|93|[Restore IP Addresses](https://leetcode.com/problems/restore-ip-addresses/)| [Java](leetcode/solution/src/RestoreIPAddresses.java)|80|多看两遍|
|94|[Binary Tree Inorder Traversal](https://leetcode.com/problems/binary-tree-inorder-traversal/)| [Java](leetcode/solution/src/BinaryTreeInorderTraversal.java)|100|
|95|[Unique Binary Search Trees II](https://leetcode.com/problems/unique-binary-search-trees-ii/)| [Java](leetcode/solution/src/UniqueBinarySearchTreesII.java)|70|多做几遍,递归和DP|
|96|[Unique Binary Search Trees](https://leetcode.com/problems/unique-binary-search-trees/)| [Java](leetcode/solution/src/UniqueBinarySearchTrees.java)|80|
|98|[Validate Binary Search Tree](https://leetcode.com/problems/validate-binary-search-tree/)| [Java](leetcode/solution/src/ValidateBinarySearchTree.java)|85|注意溢出|
|99|[Recover Binary Search Tree](https://leetcode.com/problems/recover-binary-search-tree/)| [Java](leetcode/solution/src/RecoverBinarySearchTree.java)|60|这题很容易错,要多做几遍|
|100|[Same Tree](https://leetcode.com/problems/same-tree/)| [Java](leetcode/solution/src/SameTree.java)|100|
|101|[Symmetric Tree](https://leetcode.com/problems/symmetric-tree/)| [Java](leetcode/solution/src/SymmetricTree.java)|95|
|102|[Binary Tree Level Order Traversal](https://leetcode.com/problems/binary-tree-level-order-traversal/)| [Java](leetcode/solution/src/BinaryTreeLevelOrderTraversal.java)|85|
|103|[Binary Tree Zigzag Level Order Traversal](https://leetcode.com/problems/binary-tree-zigzag-level-order-traversal/)| [Java](leetcode/solution/src/BinaryTreeZigzagLevelOrderTraversal.java)|80|
|104|[Maximum Depth of Binary Tree](https://leetcode.com/problems/maximum-depth-of-binary-tree/)| [Java](leetcode/solution/src/MaximumDepthOfBinaryTree.java)|100|
|105|[Construct Binary Tree from Preorder and Inorder Traversal](https://leetcode.com/problems/construct-binary-tree-from-preorder-and-inorder-traversal/)| [Java](leetcode/solution/src/ConstructBinaryTreeFromPreorderInorderTraversal.java)|95|
|106|[Construct Binary Tree from Inorder and Postorder Traversal](https://leetcode.com/problems/construct-binary-tree-from-inorder-and-postorder-traversal/)| [Java](leetcode/solution/src/ConstructBinaryTreeFromInorderAndPostorderTraversal.java)|90|
|107|[Binary Tree Level Order Traversal II](https://leetcode.com/problems/binary-tree-level-order-traversal-ii/)| [Java](leetcode/solution/src/BinaryTreeLevelOrderTraversalII.java)|100|
|108|[Convert Sorted Array to Binary Search Tree](https://leetcode.com/problems/convert-sorted-array-to-binary-search-tree/)| [Java](leetcode/solution/src/ConvertSortedArrayToBinarySearchTree.java)|100|
|109|[Convert Sorted List to Binary Search Tree](https://leetcode.com/problems/convert-sorted-list-to-binary-search-tree/)| [Java](leetcode/solution/src/ConvertSortedListToBinarySearchTree.java)|90||
|110|[Balanced Binary Tree](https://leetcode.com/problems/balanced-binary-tree/)| [Java](leetcode/solution/src/BalancedBinaryTree.java)|80|
|111|[Minimum Depth of Binary Tree](https://leetcode.com/problems/minimum-depth-of-binary-tree/)| [Java](leetcode/solution/src/MinimumDepthOfBinaryTree.java)|80|
|112|[Path Sum](https://leetcode.com/problems/path-sum/)| [Java](leetcode/solution/src/PathSum.java)|85|
|113|[Path Sum II](https://leetcode.com/problems/path-sum-ii/)| [Java](leetcode/solution/src/PathSumII.java)|65|错了好几次,得多做几遍|
|114|[Flatten Binary Tree to Linked List](https://leetcode.com/problems/flatten-binary-tree-to-linked-list/)| [Java](leetcode/solution/src/FlattenBinaryTreeToLinkedList.java)|80|
|116|[Populating Next Right Pointers in Each Node](https://leetcode.com/problems/populating-next-right-pointers-in-each-node/)| [Java](leetcode/solution/src/PopulatingNextRightPointersInEachNode.java)|80|
|117|[Populating Next Right Pointers in Each Node II](https://leetcode.com/problems/populating-next-right-pointers-in-each-node-ii/)| [Java](leetcode/solution/src/PopulatingNextRightPointersInEachNodeII.java)|80|
|118|[Pascal's Triangle](https://leetcode.com/problems/pascals-triangle/)| [Java](leetcode/solution/src/PascalsTriangle.java)|80||
|119|[Pascal's Triangle II](https://leetcode.com/problems/pascals-triangle-ii/description/)| [Java](leetcode/solution/src/PascalTriangleII.java)|80||
|121|[Best Time to Buy and Sell Stock](https://leetcode.com/problems/best-time-to-buy-and-sell-stock/)| [Java](leetcode/solution/src/BestTimeBuySellStock.java)|100|
|122|[Best Time to Buy and Sell Stock II](https://leetcode.com/problems/best-time-to-buy-and-sell-stock-ii/)| [Java](leetcode/solution/src/BestTimeBuySellStockII.java)|100|
|123|[Best Time to Buy and Sell Stock III](https://leetcode.com/problems/best-time-to-buy-and-sell-stock-iii/)| [Java](leetcode/solution/src/BestTimeBuySellStockIII.java)|75|
|124|[Binary Tree Maximum Path Sum](https://leetcode.com/problems/binary-tree-maximum-path-sum/)| [Java](leetcode/solution/src/BinaryTreeMaximumPathSum.java)|60|
|125|[Valid Palindrome](https://leetcode.com/problems/valid-palindrome/)| [Java](leetcode/solution/src/ValidPalindrome.java)|100|
|126|[Word Ladder II](https://leetcode.com/problems/word-ladder-ii/)| [Java](leetcode/solution/src/WordLadderII.java)||
|127|[Word Ladder](https://leetcode.com/problems/word-ladder/)| [Java](leetcode/solution/src/WordLadder.java)|70|此题非常经典,务必连同ii多做几遍,将双端BFS吃透|
|128|[Longest Consecutive Sequence](https://leetcode.com/problems/longest-consecutive-sequence/)| [Java](leetcode/solution/src/LongestConsecutiveSequence.java)|60|
|129|[Sum Root to Leaf Numbers](https://leetcode.com/problems/sum-root-to-leaf-numbers/)| [Java](leetcode/solution/src/SumRootToLeafNumbers.java)|100||
|130|[Surrounded Regions](https://leetcode.com/problems/surrounded-regions/)| [Java](leetcode/solution/src/SurroundedRegions.java)|65|
|131|[Palindrome Partitioning](https://leetcode.com/problems/palindrome-partitioning/)| [Java](leetcode/solution/src/PalindromePartitioning.java)||
|132|[Palindrome Partitioning II](https://leetcode.com/problems/palindrome-partitioning-ii/)| [Java](leetcode/solution/src/PalindromePartitioningII.java)||
|133|[Clone Graph](https://leetcode.com/problems/clone-graph/)| [Java](leetcode/solution/src/CloneGraph.java)|70|这题不难,多看两遍,BFS方法再做两遍|
|135|[Candy](https://leetcode.com/problems/candy/)|[Java](leetcode/solution/src/Candy.java)|80||
|138|[Copy List with Random Pointer](https://leetcode.com/problems/copy-list-with-random-pointer/)| [Java](leetcode/solution/src/CopyListWithRandomPointer.java)|95|有一个易错点|
|139|[Word Break](https://leetcode.com/problems/word-break/)| [Java](leetcode/solution/src/WordBreak.java)|80|多看两遍|
|140|[Word Break II](https://leetcode.com/problems/word-break-ii/)| [Java](leetcode/solution/src/WordBreakII.java)|75|这题多做两遍,很典型|
|141|[Linked List Cycle](https://leetcode.com/problems/linked-list-cycle/)| [Java](leetcode/solution/src/LinkedListCycle.java)|75|
|142|[Linked List Cycle II](https://leetcode.com/problems/linked-list-cycle-ii/)| [Java](leetcode/solution/src/LinkedListCycleII.java)|90||
|143|[Reorder List](https://leetcode.com/problems/reorder-list/)| [Java](leetcode/solution/src/ReorderList.java)|90||
|144|[Binary Tree Preorder Traversal](https://leetcode.com/problems/binary-tree-preorder-traversal/)| [Java](leetcode/solution/src/BinaryTreePreorderTraversal.java)|85|
|145|[Binary Tree Postorder Traversal](https://leetcode.com/problems/binary-tree-postorder-traversal/)| [Java](leetcode/solution/src/BinaryTreePostorderTraversal.java)|80|
|146|[LRU Cache](https://leetcode.com/problems/lru-cache/)|[Java](leetcode/solution/src/LRUCache.java)|95|好题目,多做几遍|
|147|[Insertion Sort List](https://leetcode.com/problems/insertion-sort-list/)| [Java](leetcode/solution/src/InsertionSortList.java)|90||
|148|[Sort List](https://leetcode.com/problems/sort-list)| [Java](leetcode/solution/src/SortList.java)|90||
|149|[Max Points on a Line](https://leetcode.com/problems/max-points-on-a-line/)| [Java](leetcode/solution/src/MaxPointsOnALine.java)|60|
|150|[Evaluate Reverse Polish Notation](https://leetcode.com/problems/evaluate-reverse-polish-notation/)| [Java](leetcode/solution/src/EvaluateReversePolishNotation.java)|70||
|151|[Reverse Words in a String](https://leetcode.com/problems/reverse-words-in-a-string/description/)| [Java](leetcode/solution/src/ReverseWordsInAString.java)|70|这题虽然不难,但是也错了几次|
|152|[Maximum Product Subarray](https://leetcode.com/problems/maximum-product-subarray/)| [Java](leetcode/solution/src/MaximumProductSubarray.java)||
|153|[Find Minimum in Rotated Sorted Array](https://leetcode.com/problems/find-minimum-in-rotated-sorted-array/)| [Java](leetcode/solution/src/FindMinimumInRotatedSortedArray.java)||
|154|[Find Minimum in Rotated Sorted Array II](https://leetcode.com/problems/find-minimum-in-rotated-sorted-array-ii/)| [Java](leetcode/solution/src/FindMinimumInRotatedSortedArrayII.java)||
|155|[Min Stack](https://leetcode.com/problems/min-stack/)| [Java](leetcode/solution/src/MinStack.java)|95|
|156|[Binary Tree Upside Down](https://leetcode.com/problems/binary-tree-upside-down/)| [Java](leetcode/solution/src/BinaryTreeUpsideDown.java)|70|这道题挺有意思,多做几遍|
|157|[Read N Characters Given Read4](https://leetcode.com/problems/read-n-characters-given-read4/)| [Java](leetcode/solution/src/ReadNCharactersGivenRead4.java)|80|这题多做几遍,结合#158|
|158|[Read N Characters Given Read4 II - Call multiple times](https://leetcode.com/problems/read-n-characters-given-read4-ii-call-multiple-times/)| [Java](leetcode/solution/src/ReadNCharactersGivenRead4II.java)|70|
|159|[Longest Substring with At Most Two Distinct Characters](https://leetcode.com/problems/longest-substring-with-at-most-two-distinct-characters/)| [Java](leetcode/solution/src/LongestSubstringWithAtMostTwoDistinctCharacters.java)|100|多看两遍|
|160|[Intersection of Two Linked Lists](https://leetcode.com/problems/intersection-of-two-linked-lists/)| [Java](leetcode/solution/src/IntersectionOfTwoLinkedLists.java)|100|
|161|[One Edit Distance](https://leetcode.com/problems/one-edit-distance/)| [Java](leetcode/solution/src/OneEditDistance.java)|85|和#72做两遍|
|162|[Find Peak Element](https://leetcode.com/problems/find-peak-element/)| [Java](leetcode/solution/src/FindPeakElement.java)|90||
|163|[Missing Ranges](https://leetcode.com/problems/missing-ranges/)| [Java](leetcode/solution/src/MissingRanges.java)|65|多做几遍,太容易错了|
|164|[Maximum Gap](https://leetcode.com/problems/maximum-gap/)| [Java](leetcode/solution/src/MaximumGap.java)|65|
|167|[Two Sum II - Input array is sorted](https://leetcode.com/problems/two-sum-ii-input-array-is-sorted/)| [Java](leetcode/solution/src/TwoSumII.java)|100|
|168|[Excel Sheet Column Title](https://leetcode.com/problems/excel-sheet-column-title/)| [Java](leetcode/solution/src/ExcelSheetColumnTitle.java)||
|169|[Majority Element](https://leetcode.com/problems/majority-element/)| [Java](leetcode/solution/src/MajorityElement.java)|100||
|170|[Two Sum III - Data structure design](https://leetcode.com/problems/two-sum-iii-data-structure-design/)| [Java](leetcode/solution/src/TwoSumIII.java)|100|这道题再多做一遍|
|171|[Excel Sheet Column Number](https://leetcode.com/problems/excel-sheet-column-number/)| [Java](leetcode/solution/src/ExcelSheetColumnNumber.java)||
|172|[Factorial Trailing Zeroes](https://leetcode.com/problems/factorial-trailing-zeroes/)| [Java](leetcode/solution/src/FactorialTrailingZeroes.java)|100|
|173|[Binary Search Tree Iterator](https://leetcode.com/problems/binary-search-tree-iterator/)| [Java](leetcode/solution/src/BSTIterator.java)|70|多留意一下|
|179|[Largest Number](https://leetcode.com/problems/largest-number/)| [Java](leetcode/solution/src/LargestNumber.java)|90|
|186|[Reverse Words in a String II](https://leetcode.com/problems/reverse-words-in-a-string-ii/description/)| [Java](leetcode/solution/src/ReverseWordsInAStringII.java)|90||
|188|[Best Time to Buy and Sell Stock IV](https://leetcode.com/problems/best-time-to-buy-and-sell-stock-iv/)| [Java](leetcode/solution/src/BestTimeBuySellStockIV.java)||
|189|[Rotate Array](https://leetcode.com/problems/rotate-array/)| [Java](leetcode/solution/src/RotateArray.java)|100||
|190|[Reverse Bits](https://leetcode.com/problems/reverse-bits/)| [Java](leetcode/solution/src/ReverseBits.java)|85|
|198|[House Robber](https://leetcode.com/problems/house-robber/)| [Java](leetcode/solution/src/HouseRobber.java)|80|
|199|[Binary Tree Right Side View](https://leetcode.com/problems/binary-tree-right-side-view/)| [Java](leetcode/solution/src/BinaryTreeRightSideView.java)|80|
|200|[Number of Islands](https://leetcode.com/problems/number-of-islands/)| [Java](leetcode/solution/src/NumberOfIslands.java)|85|这道题很经典,而且方法不止一种,每种方法都多做几遍,包括UF,#305|
|203|[Remove Linked List Elements](https://leetcode.com/problems/remove-linked-list-elements/)| [Java](leetcode/solution/src/RemoveLinkedListElements.java)||
|204|[Count Primes](https://leetcode.com/problems/count-primes/)| [Java](leetcode/solution/src/CountPrimes.java)|85|
|206|[Reverse Linked List](https://leetcode.com/problems/reverse-linked-list/)| [Java](leetcode/solution/src/ReverseLinkedList.java)|90|
|207|[Course Schedule](https://leetcode.com/problems/course-schedule/)| [Java](leetcode/solution/src/CourseSchedule.java)|100|典型的拓扑排序|
|208|[Implement Trie (Prefix Tree)](https://leetcode.com/problems/implement-trie-prefix-tree/)| [Java](leetcode/solution/src/Trie.java)|80|和#211多留意,trie很典型|
|209|[Minimum Size Subarray Sum](https://leetcode.com/problems/minimum-size-subarray-sum/)| [Java](leetcode/solution/src/MinimumSizeSubarraySum.java)|85|
|210|[Course Schedule II](https://leetcode.com/problems/course-schedule-ii/)| [Java](leetcode/solution/src/CourseScheduleII.java)|95||
|211|[Add and Search Word - Data structure design](https://leetcode.com/problems/add-and-search-word-data-structure-design/)| [Java](leetcode/solution/src/WordDictionary.java)|85|
|212|[Word Search II](https://leetcode.com/problems/word-search-ii/)| [Java](leetcode/solution/src/WordSearchII.java)||
|213|[House Robber II](https://leetcode.com/problems/house-robber-ii/)| [Java](leetcode/solution/src/HouseRobberII.java)|80|
|214|[Shortest Palindrome](https://leetcode.com/problems/shortest-palindrome/)| [Java](leetcode/solution/src/ShortestPalindrome.java)||
|215|[Kth Largest Element in an Array](https://leetcode.com/problems/kth-largest-element-in-an-array/)| [Java](leetcode/solution/src/KthLargestElementInArray.java)|65|这题很经典,三种解法都要了然于胸|
|216|[Combination Sum III](https://leetcode.com/problems/combination-sum-iii/)| [Java](leetcode/solution/src/CombinationSumIII.java)|65|
|217|[Contains Duplicate](https://leetcode.com/problems/contains-duplicate/)| [Java](leetcode/solution/src/ContainsDuplicate.java)|100|
|218|[The Skyline Problem](https://leetcode.com/problems/the-skyline-problem/)| [Java](leetcode/solution/src/TheSkylineProblem.java)|60|这题多做两遍|
|219|[Contains Duplicate II](https://leetcode.com/problems/contains-duplicate-ii/)| [Java](leetcode/solution/src/ContainsDuplicateII.java)|95|
|220|[Contains Duplicate III](https://leetcode.com/problems/contains-duplicate-iii/)| [Java](leetcode/solution/src/ContainsDuplicateIII.java)|65|
|221|[Maximal Square](https://leetcode.com/problems/maximal-square/)| [Java](leetcode/solution/src/MaximalSquare.java)|80|
|222|[Count Complete Tree Nodes](https://leetcode.com/problems/count-complete-tree-nodes/)| [Java](leetcode/solution/src/CountCompleteTreeNodes.java)|70|一般的做法会超时|
|223|[Rectangle Area](https://leetcode.com/problems/rectangle-area/)| [Java](leetcode/solution/src/RectangleArea.java)|95|
|224|[Basic Calculator](https://leetcode.com/problems/basic-calculator/)| [Java](leetcode/solution/src/BasicCalculator.java)|80||
|225|[Implement Stack using Queues](https://leetcode.com/problems/implement-stack-using-queues/)| [Java](leetcode/solution/src/MyStack.java)|90|
|226|[Invert Binary Tree](https://leetcode.com/problems/invert-binary-tree/)| [Java](leetcode/solution/src/InvertBinaryTree.java)|80|
|228|[Summary Ranges](https://leetcode.com/problems/summary-ranges/)| [Java](leetcode/solution/src/SummaryRanges.java)|70||
|229|[Majority Element II](https://leetcode.com/problems/majority-element-ii/)| [Java](leetcode/solution/src/MajorityElementII.java)|70||
|230|[Kth Smallest Element in a BST](https://leetcode.com/problems/kth-smallest-element-in-a-bst/)| [Java](leetcode/solution/src/KthSmallestElementInBST.java)|85|注意Follow Up|
|232|[Implement Queue using Stacks](https://leetcode.com/problems/implement-queue-using-stacks/)| [Java](leetcode/solution/src/MyQueue.java)|95|
|233|[Number of Digit One](https://leetcode.com/problems/number-of-digit-one/)| [Java](leetcode/solution/src/NumberOfDigitOne.java)||
|234|[Palindrome Linked List](https://leetcode.com/problems/palindrome-linked-list/)| [Java](leetcode/solution/src/PalindromeLinkedList.java)|75|
|235|[Lowest Common Ancestor of a Binary Search Tree](https://leetcode.com/problems/lowest-common-ancestor-of-a-binary-search-tree/)|[Java](leetcode/solution/src/LowestCommonAncestorOfBinarySearchTree.java)|100|
|236|[Lowest Common Ancestor of a Binary Tree](https://leetcode.com/problems/lowest-common-ancestor-of-a-binary-tree/)| [Java](leetcode/solution/src/LowestCommonAncestorOfBinaryTree.java)|50|这题很经典,多做几遍,留意节点不在树中的情况|
|237|[Delete Node in a Linked List](https://leetcode.com/problems/delete-node-in-a-linked-list/)| [Java](leetcode/solution/src/DeleteNodeInALinkedList.java)|100||
|238|[Product of Array Except Self](https://leetcode.com/problems/product-of-array-except-self/)| [Java](leetcode/solution/src/ProductOfArrayExceptSelf.java)|85|
|239|[Sliding Window Maximum](https://leetcode.com/problems/sliding-window-maximum/)| [Java](leetcode/solution/src/SlidingWindowMaximum.java)|75|这题非常经典,多做几遍,包括常规算法(优先队列,treemap)及优化算法双端队列|
|240|[Search a 2D Matrix II](https://leetcode.com/problems/search-a-2d-matrix-ii/)| [Java](leetcode/solution/src/Search2DMatrixII.java)|100|
|241|[Different Ways to Add Parentheses](https://leetcode.com/problems/different-ways-to-add-parentheses/)| [Java](leetcode/solution/src/DifferenceWaysToAddParentheses.java)||
|242|[Valid Anagram](https://leetcode.com/problems/valid-anagram/)| [Java](leetcode/solution/src/ValidAnagram.java)|100|
|243|[Shortest Word Distance](https://leetcode.com/problems/shortest-word-distance/)| [Java](leetcode/solution/src/ShortestWordDistance.java)|80|
|244|[Shortest Word Distance II](https://leetcode.com/problems/shortest-word-distance-ii/)| [Java](leetcode/solution/src/ShortestWordDistanceII.java)|80||
|245|[Shortest Word Distance III](https://leetcode.com/problems/shortest-word-distance-iii/)| [Java](leetcode/solution/src/ShortestWordDistanceIII.java)|80||
|246|[Strobogrammatic Number](https://leetcode.com/problems/strobogrammatic-number/)| [Java](leetcode/solution/src/StrobogrammaticNumber.java)|70|#247一个系列,多看两遍|
|247|[Strobogrammatic Number II](https://leetcode.com/problems/strobogrammatic-number-ii/)| [Java](leetcode/solution/src/StrobogrammaticNumberII.java)|70|多看两遍|
|249|[Group Shifted Strings](https://leetcode.com/problems/group-shifted-strings/)| [Java](leetcode/solution/src/GroupShiftedStrings.java)||
|250|[Count Univalue Subtrees](https://leetcode.com/problems/count-univalue-subtrees/)| [Java](leetcode/solution/src/CountUnivalueSubtrees.java)|70|这题要多做几遍|
|251|[Flatten 2D Vector](https://leetcode.com/problems/flatten-2d-vector/)| [Java](leetcode/solution/src/Vector2D.java)|100|
|252|[Meeting Rooms](https://leetcode.com/problems/meeting-rooms/)| [Java](leetcode/solution/src/MeetingRooms.java)|100|
|253|[Meeting Rooms II](https://leetcode.com/problems/meeting-rooms-ii/)| [Java](leetcode/solution/src/MeetingRoomsII.java)|90|
|254|[Factor Combinations](https://leetcode.com/problems/factor-combinations/)| [Java](leetcode/solution/src/FactorCombinations.java)|80||
|255|[Verify Preorder Sequence in Binary Search Tree](https://leetcode.com/problems/verify-preorder-sequence-in-binary-search-tree/)| [Java](leetcode/solution/src/VerifyPreorderSequenceInBinarySearchTree.java)|85|很简单,粗心错了|
|256|[Paint House](https://leetcode.com/problems/paint-house/)| [Java](leetcode/solution/src/PaintHouse.java)|95|
|257|[Binary Tree Paths](https://leetcode.com/problems/binary-tree-paths/)| [Java](leetcode/solution/src/BinaryTreePaths.java)|80|
|259|[3Sum Smaller](https://leetcode.com/problems/3sum-smaller/)| [Java](leetcode/solution/src/ThreeSumSmaller.java)|95|这题虽然简单,但是因为思维定式还是错了几次|
|261|[Graph Valid Tree](https://leetcode.com/problems/graph-valid-tree/)| [Java](leetcode/solution/src/GraphValidTree.java)|70|这题多做几遍|
|263|[Ugly Number](https://leetcode.com/problems/ugly-number/)| [Java](leetcode/solution/src/UglyNumber.java)|85|
|264|[Ugly Number II](https://leetcode.com/problems/ugly-number-ii/)| [Java](leetcode/solution/src/UglyNumberII.java)|70|
|265|[Paint House II](https://leetcode.com/problems/paint-house-ii)| [Java](leetcode/solution/src/PaintHouseII.java)|60|
|266|[Palindrome Permutation](https://leetcode.com/problems/palindrome-permutation/)| [Java](leetcode/solution/src/PalindromePermutation.java)|100|
|267|[Palindrome Permutation II](https://leetcode.com/problems/palindrome-permutation-ii/)| [Java](leetcode/solution/src/PalindromePermutationII.java)|80|典型,多看两遍|
|268|[Missing Number](https://leetcode.com/problems/missing-number)| [Java](leetcode/solution/src/MissingNumber.java)|100||
|269|[Alien Dictionary](https://leetcode.com/problems/alien-dictionary/)| [Java](leetcode/solution/src/AlienDictionary.java)|70|这题要多做几遍|
|270|[Closest Binary Search Tree Value](https://leetcode.com/problems/closest-binary-search-tree-value/)| [Java](leetcode/solution/src/ClosestBinarySearchTreeValue.java)|90|
|271|[Encode and Decode Strings](https://leetcode.com/problems/encode-and-decode-strings/)| [Java](leetcode/solution/src/EncodeAndDecodeStrings.java)|65|思路巧妙,多看几遍|
|272|[Closest Binary Search Tree Value II](https://leetcode.com/problems/closest-binary-search-tree-value-ii/)| [Java](leetcode/solution/src/ClosestBinarySearchTreeValueII.java)|60|这题非常值得多做几遍,几种写法都试试|
|273|[Integer to English Words](https://leetcode.com/problems/integer-to-english-words/)| [Java](leetcode/solution/src/IntegerToEnglishWords.java)|75|多做几遍,做到bug free|
|274|[H-Index](https://leetcode.com/problems/h-index/)| [Java](leetcode/solution/src/HIndex.java)|80|
|275|[H-Index II](https://leetcode.com/problems/h-index-ii/)| [Java](leetcode/solution/src/HIndexII.java)|75|
|277|[Find the Celebrity](https://leetcode.com/problems/find-the-celebrity/)| [Java](leetcode/solution/src/FindCelebrity.java)|100|
|278|[First Bad Version](https://leetcode.com/problems/first-bad-version/)| [Java](leetcode/solution/src/FirstBadVersion.java)|100|
|279|[Perfect Squares](https://leetcode.com/problems/perfect-squares/)| [Java](leetcode/solution/src/PerfectSquares.java)|95|
|280|[Wiggle Sort](https://leetcode.com/problems/wiggle-sort/)| [Java](leetcode/solution/src/WiggleSort.java)|80|思路巧妙,多看两遍|
|281|[Zigzag Iterator](https://leetcode.com/problems/zigzag-iterator/)| [Java](leetcode/solution/src/ZigzagIterator.java)|85|多做三遍,考虑扩展到k的情况|
|282|[Expression Add Operators](https://leetcode.com/problems/expression-add-operators/)| [Java](leetcode/solution/src/ExpressionAddOperators.java)|50|
|283|[Move Zeroes](https://leetcode.com/problems/move-zeroes/)| [Java](leetcode/solution/src/MoveZeroes.java)|100|
|284|[Peeking Iterator](https://leetcode.com/problems/peeking-iterator/)| [Java](leetcode/solution/src/PeekingIterator.java)|100|
|285|[Inorder Successor in BST](https://leetcode.com/problems/inorder-successor-in-bst/)| [Java](leetcode/solution/src/InorderSuccessorInBST.java)|70|这道题有意思,要多做几遍|
|286|[Walls and Gates](https://leetcode.com/problems/walls-and-gates/)| [Java](leetcode/solution/src/WallsAndGates.java)|70|多看两遍|
|287|[Find the Duplicate Number](https://leetcode.com/problems/find-the-duplicate-number/)| [Java](leetcode/solution/src/FindTheDuplicateNumber.java)||
|288|[Unique Word Abbreviation](https://leetcode.com/problems/unique-word-abbreviation/)| [Java](leetcode/solution/src/ValidWordAbbr.java)|70|这题不难,多做两遍,题目意思容易理解错|
|289|[Game of Life](https://leetcode.com/problems/game-of-life/)| [Java](leetcode/solution/src/GameOfLife.java)|70||
|293|[Flip Game](https://leetcode.com/problems/flip-game/)| [Java](leetcode/solution/src/FlipGame.java)|90||
|294|[Flip Game II](https://leetcode.com/problems/flip-game-ii/)| [Java](leetcode/solution/src/FlipGameII.java)|90||
|295|[Find Median from Data Stream](https://leetcode.com/problems/find-median-from-data-stream/)| [Java](leetcode/solution/src/FindMedianFromDataStream.java)||
|297|[Serialize and Deserialize Binary Tree](https://leetcode.com/problems/serialize-and-deserialize-binary-tree/)|[Java](leetcode/solution/src/Codec.java)|80|好题目,多做做,递归的非递归的|
|298|[Binary Tree Longest Consecutive Sequence](https://leetcode.com/problems/binary-tree-longest-consecutive-sequence/)| [Java](leetcode/solution/src/BinaryTreeLongestConsecutiveSequence.java)|70|多做三遍,尽可能简洁|
|299|[Bulls and Cows](https://leetcode.com/problems/bulls-and-cows/)|[Java](leetcode/solution/src/BullsAndCows.java)||
|300|[Longest Increasing Subsequence](https://leetcode.com/problems/longest-increasing-subsequence/)| [Java](leetcode/solution/src/LongestIncreasingSubsequence.java)||
|301|[Remove Invalid Parentheses](https://leetcode.com/problems/remove-invalid-parentheses/)| [Java](leetcode/solution/src/RemoveInvalidParentheses.java)|70|比较难,多做几遍|
|302|[Smallest Rectangle Enclosing Black Pixels](https://leetcode.com/problems/smallest-rectangle-enclosing-black-pixels/)| [Java](leetcode/solution/src/SmallestRectangleEnclosingBlackPixels.java)|||
|303|[Range Sum Query - Immutable](https://leetcode.com/problems/range-sum-query-immutable/)| [Java](leetcode/solution/src/NumArray.java)|100|
|304|[Range Sum Query 2D - Immutable](https://leetcode.com/problems/range-sum-query-2d-immutable/)| [Java](leetcode/solution/src/NumMatrix.java)|65|
|305|[Number of Islands II](https://leetcode.com/problems/number-of-islands-ii/)| [Java](leetcode/solution/src/NumberOfIslandsII.java)|70|这题多做几遍,经典的UF|
|307|[Range Sum Query - Mutable](https://leetcode.com/problems/range-sum-query-mutable/)| [Java](leetcode/solution/src/NumArrayII.java)|70|和#303, #304, #308定要多做几遍,掌握BIT|
|308|[Range Sum Query 2D - Mutable](https://leetcode.com/problems/range-sum-query-2d-mutable/)| [Java](leetcode/solution/src/NumMatrixII.java)|70|
|309|[Best Time to Buy and Sell Stock with Cooldown](https://leetcode.com/problems/best-time-to-buy-and-sell-stock-with-cooldown/)| [Java](leetcode/solution/src/BestTimeBuySellStockWithCoolDown.java)||
|310|[Minimum Height Trees](https://leetcode.com/problems/minimum-height-trees/)| [Java](leetcode/solution/src/MinimumHeightTrees.java)|60|这题多做几遍|
|311|[Sparse Matrix Multiplication](https://leetcode.com/problems/sparse-matrix-multiplication/)| [Java](leetcode/solution/src/SparseMatrixMultiplication.java)|80|
|312|[Burst Balloons](https://leetcode.com/problems/burst-balloons/)| [Java](leetcode/solution/src/BurstBalloons.java)|60|
|313|[Super Ugly Number](https://leetcode.com/problems/super-ugly-number/)| [Java](leetcode/solution/src/SuperUglyNumber.java)|||
|314|[Binary Tree Vertical Order Traversal](https://leetcode.com/problems/binary-tree-vertical-order-traversal/)| [Java](leetcode/solution/src/BinaryTreeVerticalOrderTraversal.java)|80|
|315|[Count of Smaller Numbers After Self](https://leetcode.com/problems/count-of-smaller-numbers-after-self/)| [Java](leetcode/solution/src/CountOfSmallerNumbersAfterSelf.java)|60|
|316|[Remove Duplicate Letters](https://leetcode.com/problems/remove-duplicate-letters/)| [Java](leetcode/solution/src/RemoveDuplicateLetters.java)|70|
|317|[Shortest Distance from All Buildings](https://leetcode.com/problems/shortest-distance-from-all-buildings/)| [Java](leetcode/solution/src/ShortestDistanceFromAllBuildings.java)|75|典型的bfs,多做两遍|
|319|[Bulb Switcher](https://leetcode.com/problems/bulb-switcher/)| [Java](leetcode/solution/src/BulbSwitcher.java)|90|
|320|[Generalized Abbreviation](https://leetcode.com/problems/generalized-abbreviation/)| [Java](leetcode/solution/src/GeneralizedAbbreviation.java)|70|这题是典型的back tracking,多做几遍|
|322|[Coin Change](https://leetcode.com/problems/coin-change/)|[Java](leetcode/solution/src/CoinChange.java)|80||
|323|[Number of Connected Components in an Undirected Graph](https://leetcode.com/problems/number-of-connected-components-in-an-undirected-graph/)| [Java](leetcode/solution/src/NumberOfConnectedComponents.java)|90|典型的图,多看两遍|
|324|[Wiggle Sort II](https://leetcode.com/problems/wiggle-sort-ii/)| [Java](leetcode/solution/src/WiggleSortII.java)|60|
|325|[Maximum Size Subarray Sum Equals k](https://leetcode.com/problems/maximum-size-subarray-sum-equals-k/)| [Java](leetcode/solution/src/MaximumSizeSubarraySumEqualsK.java)|75|这题思路有意思,多做几遍|
|328|[Odd Even Linked List](https://leetcode.com/problems/odd-even-linked-list/)| [Java](leetcode/solution/src/OddEvenLinkedList.java)|90|
|329|[Longest Increasing Path in a Matrix](https://leetcode.com/problems/longest-increasing-path-in-a-matrix/)| [Java](leetcode/solution/src/LongestIncreasingPathInAMatrix.java)|70|这题要多做几遍|
|332|[Reconstruct Itinerary](https://leetcode.com/problems/reconstruct-itinerary/)| [Java](leetcode/solution/src/ReconstructItinerary.java)|||
|333|[Largest BST Subtree](https://leetcode.com/problems/largest-bst-subtree/)| [Java](leetcode/solution/src/LargestBSTSubtree.java)|50|这道题虽然不难,但是折腾了很久,一定要多做|
|334|[Increasing Triplet Subsequence](https://leetcode.com/problems/increasing-triplet-subsequence/)| [Java](leetcode/solution/src/IncreasingTripletSubsequence.java)|75|
|335|[Self Crossing](https://leetcode.com/problems/self-crossing/)| [Java](leetcode/solution/src/SelfCrossing.java)|80|
|336|[Palindrome Pairs](https://leetcode.com/problems/palindrome-pairs/)| [Java](leetcode/solution/src/PalindromePairs.java)||
|337|[House Robber III](https://leetcode.com/problems/house-robber-iii/)| [Java](leetcode/solution/src/HouseRobberIII.java)|70|建议再做两遍|
|339|[Nested List Weight Sum](https://leetcode.com/problems/nested-list-weight-sum/)| [Java](leetcode/solution/src/NestedListWeightSum.java)||
|340|[Longest Substring with At Most K Distinct Characters](https://leetcode.com/problems/longest-substring-with-at-most-k-distinct-characters/)| [Java](leetcode/solution/src/LongestSubstringWithAtMostKDistinctCharacters.java)|80|和#159类似|
|341|[Flatten Nested List Iterator](https://leetcode.com/problems/flatten-nested-list-iterator/)| [Java](leetcode/solution/src/NestedIterator.java)|75|这题有点意思,多做两遍|
|344|[Reverse String](https://leetcode.com/problems/reverse-string/)| [Java](leetcode/solution/src/ReverseString.java)|100||
|345|[Reverse Vowels of a String](https://leetcode.com/problems/reverse-vowels-of-a-string/)| [Java](leetcode/solution/src/ReverseVowelsOfaString.java)|100||
|346|[Moving Average from Data Stream](https://leetcode.com/problems/moving-average-from-data-stream/)| [Java](leetcode/solution/src/MovingAverage.java)|95|
|347|[Top K Frequent Elements](https://leetcode.com/problems/top-k-frequent-elements/)| [Java](leetcode/solution/src/TopKFrequentElements.java)|85|
|349|[Intersection of Two Arrays](https://leetcode.com/problems/intersection-of-two-arrays/)| [Java](leetcode/solution/src/IntersectionOfTwoArrays.java)|||
|350|[Intersection of Two Arrays II](https://leetcode.com/problems/intersection-of-two-arrays-ii/)| [Java](leetcode/solution/src/IntersectionOfTwoArraysII.java)|||
|351|[Android Unlock Patterns](https://leetcode.com/problems/android-unlock-patterns/)| [Java](leetcode/solution/src/AndroidUnlockPatterns.java)|70|这题多做几遍|
|357|[Count Numbers with Unique Digits](https://leetcode.com/problems/count-numbers-with-unique-digits/)| [Java](leetcode/solution/src/CountNumberWithUniqueDigits.java)||
|358|[Rearrange String k Distance Apart](https://leetcode.com/problems/rearrange-string-k-distance-apart/)| [Java](leetcode/solution/src/RearrangeStringKDistanceApart.java)||
|359|[Logger Rate Limiter](https://leetcode.com/problems/logger-rate-limiter/)| [Java](leetcode/solution/src/LoggerRateLimiter.java)|100|这题如果不考虑空间消耗的话其实很简单|
|361|[Bomb Enemy](https://leetcode.com/problems/bomb-enemy/)| [Java](leetcode/solution/src/BombEnemy.java)|65|这题多做几遍,开始没思路|
|364|[Nested List Weight Sum II](https://leetcode.com/problems/nested-list-weight-sum-ii/)| [Java](leetcode/solution/src/NestedListWeightSumII.java)||
|366|[Find Leaves of Binary Tree](https://leetcode.com/problems/find-leaves-of-binary-tree/)| [Java](leetcode/solution/src/FindLeavesOfBinaryTree.java)|60|这道题刚开始还没思路|
|367|[Valid Perfect Square](https://leetcode.com/problems/valid-perfect-square)| [Java](leetcode/solution/src/ValidPerfectSquare.java)|||
|369|[Plus One Linked List](https://leetcode.com/problems/plus-one-linked-list/)| [Java](leetcode/solution/src/PlusOneLinkedList.java)|100||
|370|[Range Addition](https://leetcode.com/problems/range-addition/)| [Java](leetcode/solution/src/RangeAddition.java)|80||
|373|[Find K Pairs with Smallest Sums](https://leetcode.com/problems/find-k-pairs-with-smallest-sums/)| [Java](leetcode/solution/src/FindKPairsWithSmallestSums.java)|||
|374|[Guess Number Higher or Lower](https://leetcode.com/problems/guess-number-higher-or-lower/)| [Java](leetcode/solution/src/GuessNumberHigherOrLower.java)|100|
|375|[Guess Number Higher or Lower II](https://leetcode.com/problems/guess-number-higher-or-lower-ii/)| [Java](leetcode/solution/src/GuessNumberHigherOrLowerII.java)|60|
|377|[Combination Sum IV](https://leetcode.com/problems/combination-sum-iv/)| [Java](leetcode/solution/src/combinationSum4.java)|65|
|378|[Kth Smallest Element in a Sorted Matrix](https://leetcode.com/problems/kth-smallest-element-in-a-sorted-matrix/)| [Java](leetcode/solution/src/KthSmallestElementInASortedMatrix.java)|||
|380|[Insert Delete GetRandom O(1)](https://leetcode.com/problems/insert-delete-getrandom-o1/)| [Java](leetcode/solution/src/RandomizedSet.java)|75|这道题很有意思,多做几遍|
|381|[Insert Delete GetRandom O(1) - Duplicates allowed](https://leetcode.com/problems/insert-delete-getrandom-o1-duplicates-allowed/)| [Java](leetcode/solution/src/RandomizedCollection.java)||
|382|[Linked List Random Node](https://leetcode.com/problems/linked-list-random-node/)| [Java](leetcode/solution/src/LinkedListRandomNode.java)||
|384|[Shuffle an Array](https://leetcode.com/problems/shuffle-an-array/)| [Java](leetcode/solution/src/ShuffleAnArray.java)|75|
|387|[First Unique Character in a String](https://leetcode.com/problems/first-unique-character-in-a-string/)| [Java](leetcode/solution/src/FirstUniqueCharacterInAString.java)|100|
|388|[Longest Absolute File Path](https://leetcode.com/problems/longest-absolute-file-path/)| [Java](leetcode/solution/src/LongestAbsoluteFilePath.java)|65|其实不难,乍看没思路,多做几遍|
|391|[Perfect Rectangle](https://leetcode.com/problems/perfect-rectangle/)| [Java](leetcode/solution/src/PerfectRectangle.java)|70|这题很trick,多做两遍|
|393|[UTF-8 Validation](https://leetcode.com/problems/utf-8-validation/)| [Java](leetcode/solution/src/UTFValidation.java)|60|错了很多次,多做几遍|
|394|[Decode String](https://leetcode.com/problems/decode-string/)| [Java](leetcode/solution/src/DecodeString.java)|75|这题容易错,多做四遍|
|395|[Longest Substring with At Least K Repeating Characters](https://leetcode.com/problems/longest-substring-with-at-least-k-repeating-characters/)| [Java](leetcode/solution/src/LongestSubstringWithAtLeastKRepeatingCharacters.java)|65|
|398|[Random Pick Index](https://leetcode.com/problems/random-pick-index/)| [Java](leetcode/solution/src/RandomPickIndex.java)|80|
|399|[Evaluate Division](https://leetcode.com/problems/evaluate-division/)| [Java](leetcode/solution/src/EvaluateDivision.java)|60|这题多做几遍|
|401|[Binary Watch](https://leetcode.com/problems/binary-watch/)| [Java](leetcode/solution/src/BinaryWatch.java)||
|404|[Sum of Left Leaves](https://leetcode.com/problems/sum-of-left-leaves/)| [Java](leetcode/solution/src/SumOfLeftLeaves.java)|80|
|406|[Queue Reconstruction by Height](https://leetcode.com/problems/queue-reconstruction-by-height/)| [Java](leetcode/solution/src/QueueReconstructionByHeight.java)|60|这题开始没思路,多做几遍|
|407|[Trapping Rain Water II](https://leetcode.com/problems/trapping-rain-water-ii/)| [Java](leetcode/solution/src/TrappingRainWaterII.java)||
|408|[Valid Word Abbreviation](https://leetcode.com/problems/valid-word-abbreviation/)| [Java](leetcode/solution/src/validWordAbbreviation.java)|80|多做两遍|
|409|[Longest Palindrome](https://leetcode.com/problems/longest-palindrome/)| [Java](leetcode/solution/src/LongestPalindrome.java)||
|410|[Split Array Largest Sum](https://leetcode.com/problems/split-array-largest-sum)| [Java](leetcode/solution/src/SplitArrayLargestSum.java)||
|412|[Fizz Buzz](https://leetcode.com/problems/fizz-buzz/)| [Java](leetcode/solution/src/FizzBuzz.java)|100|
|413|[Third Maximum Number](https://leetcode.com/problems/third-maximum-number/)| [Java](leetcode/solution/src/ThirdMaximumNumber.java)|80||
|418|[Sentence Screen Fitting](https://leetcode.com/problems/sentence-screen-fitting/)| [Java](leetcode/solution/src/SentenceScreenFitting.java)|65|这题思路巧妙,多做几遍,常规思路超时|
|422|[Valid Word Square](https://leetcode.com/problems/valid-word-square/)| [Java](leetcode/solution/src/ValidWordSquare.java)|90|
|425|[Word Squares](https://leetcode.com/problems/word-squares/)| [Java](leetcode/solution/src/WordSquare.java)|70|这题很典型,多做几遍|
|436|[Find Right Interval](https://leetcode.com/problems/find-right-interval/)| [Java](leetcode/solution/src/FindRightInterval.java)|||
|437|[Path Sum III](https://leetcode.com/problems/path-sum-iii/)| [Java](leetcode/solution/src/PathSumIII.java)|60|这道题错了很多遍,要重点关注|
|438|[Find All Anagrams in a String](https://leetcode.com/problems/find-all-anagrams-in-a-string/)| [Java](leetcode/solution/src/FindAllAnagramsInString.java)|75|这道题非常经典,最优解法需要多做几遍,保证once bug free|
|442|[Find All Duplicates in an Array](https://leetcode.com/problems/find-all-duplicates-in-an-array/)| [Java](leetcode/solution/src/FindAllDuplicatesInAnArray.java)|80||
|445|[Add Two Numbers II](https://leetcode.com/problems/add-two-numbers-ii/discuss/)| [Java](leetcode/solution/src/AddTwoNumbersII.java)|80||
|448|[Find All Numbers Disappeared in an Array](https://leetcode.com/problems/find-all-numbers-disappeared-in-an-array)| [Java](leetcode/solution/src/FindAllNumbersDisappearedInAnArray.java)|80||
|449|[Serialize and Deserialize BST](https://leetcode.com/problems/serialize-and-deserialize-bst)| [Java](leetcode/solution/src/SerializeAndDeserializeBST.java)|90|和#297一样|
|450|[Delete Node in a BST](https://leetcode.com/problems/delete-node-in-a-bst/)| [Java](leetcode/solution/src/DeleteNodeInBST.java)|60|这题非常经典,值得多做十遍|
|451|[Sort Characters By Frequency](https://leetcode.com/problems/sort-characters-by-frequency/)| [Java](leetcode/solution/src/SortCharactersByFrequency.java)|||
|459|[Repeated Substring Pattern](https://leetcode.com/problems/repeated-substring-pattern/)| [Java](leetcode/solution/src/RepeatedSubstringPattern.java)|||
|477|[Total Hamming Distance](https://leetcode.com/problems/total-hamming-distance/)| [Java](leetcode/solution/src/TotalHammingDistance.java)||
|480|[Sliding Window Median](https://leetcode.com/problems/sliding-window-median/)| [Java](leetcode/solution/src/SlidingWindowMedian.java)|70||
|482|[License Key Formatting](https://leetcode.com/problems/license-key-formatting/)| [Java](leetcode/solution/src/LicenseKeyFormatting.java)|90||
|483|[Smallest Good Base](https://leetcode.com/problems/smallest-good-base/)| [Java](leetcode/solution/src/SmallestGoodBase.java)|||
|485|[Max Consecutive Ones](https://leetcode.com/problems/max-consecutive-ones/)| [Java](leetcode/solution/src/MaxConsecutiveOnes.java)|100||
|487|[Max Consecutive Ones II](https://leetcode.com/problems/max-consecutive-ones-ii/)| [Java](leetcode/solution/src/MaxConsecutiveOnesII.java)|80||
|501|[Find Mode in Binary Search Tree](https://leetcode.com/problems/find-mode-in-binary-search-tree/)| [Java](leetcode/solution/src/FindModeInBinarySearchTree.java)|70|不难,容易错,多做两次|
|508|[Most Frequent Subtree Sum](https://leetcode.com/problems/most-frequent-subtree-sum/submissions/)| [Java](leetcode/solution/src/MostFrequentSubtreeSum.java)||
|513|[Find Bottom Left Tree Value](https://leetcode.com/problems/find-bottom-left-tree-value/)| [Java](leetcode/solution/src/FindBottomLeftTreeValue.java)|100||
|515|[Find Largest Value in Each Tree Row](https://leetcode.com/problems/find-largest-value-in-each-tree-row/)| [Java](leetcode/solution/src/FindLargestValueInEachTreeRow.java)|100||
|524|[Longest Word in Dictionary through Deleting](https://leetcode.com/problems/longest-word-in-dictionary-through-deleting/)| [Java](leetcode/solution/src/LongestWordInDictionaryThroughDeleting.java)|||
|526|[Beautiful Arrangement](https://leetcode.com/problems/beautiful-arrangement/)| [Java](leetcode/solution/src/BeautifulArrangement.java)|80||
|535|[Encode and Decode TinyURL](https://leetcode.com/problems/encode-and-decode-tinyurl/)| [Java](leetcode/solution/src/EncodeAndDecodeTinyURL.java)|100||
|538|[Convert BST to Greater Tree](https://leetcode.com/problems/convert-bst-to-greater-tree/)|[Java](leetcode/solution/src/ConvertBSTToGreaterTree.java)|100||
|541|[Reverse String II](https://leetcode.com/problems/reverse-string-ii/)| [Java](leetcode/solution/src/ReverseStringII.java)|100||
|543|[Diameter of Binary Tree](https://leetcode.com/problems/diameter-of-binary-tree/)|[Java](leetcode/solution/src/DiameterOfBinaryTree.java)|80|这题易错|
|547|[Friend Circles](https://leetcode.com/problems/friend-circles/)|[Java](leetcode/solution/src/FriendCircles.java)|70||
|557|[Reverse Words in a String III](https://leetcode.com/problems/reverse-words-in-a-string-iii/)| [Java](leetcode/solution/src/ReverseWordsInAStringIII.java)|100||
|560|[Subarray Sum Equals K](https://leetcode.com/problems/subarray-sum-equals-k/)| [Java](leetcode/solution/src/SubarraySumEqualsK.java)|70||
|563|[Binary Tree Tilt](https://leetcode.com/problems/binary-tree-tilt/)|[Java](leetcode/solution/src/BinaryTreeTilt.java)|90||
|564|[Find the Closest Palindrome](https://leetcode.com/problems/find-the-closest-palindrome/)|[Java](leetcode/solution/src/FindTheClosestPalindrome.java)|80|此题暴力法即可|
|572|[Subtree of Another Tree](https://leetcode.com/problems/subtree-of-another-tree/)|[Java](leetcode/solution/src/SubtreeOfAnotherTree.java)|80||
|606|[Construct String from Binary Tree](https://leetcode.com/problems/construct-string-from-binary-tree/)|[Java](leetcode/solution/src/ConstructStringFromBinaryTree.java)|90||
|617|[Merge Two Binary Trees](https://leetcode.com/problems/merge-two-binary-trees/)|[Java](leetcode/solution/src/MergeTwoBinaryTrees.java)|100|很简单|
|621|[Task Scheduler](https://leetcode.com/problems/task-scheduler/)|[Java](leetcode/solution/src/TaskScheduler.java)|70||
|637|[Average of Levels in Binary Tree](https://leetcode.com/problems/average-of-levels-in-binary-tree/#/description)| [Java](leetcode/solution/src/AverageOfLevelsInBinaryTree.java)|100||
|652|[Find Duplicate Subtrees](https://leetcode.com/problems/find-duplicate-subtrees/)| [Java](leetcode/solution/src/FindDuplicateSubtrees.java)|70|开始还没思路|
|653|[Two Sum IV - Input is a BST](https://leetcode.com/problems/two-sum-iv-input-is-a-bst/)| [Java](leetcode/solution/src/TwoSumIV.java)|90||
|654|[Maximum Binary Tree](https://leetcode.com/problems/maximum-binary-tree/description/)|[Java](leetcode/solution/src/MaximumBinaryTree.java)|100||
|669|[Trim a Binary Search Tree](https://leetcode.com/problems/trim-a-binary-search-tree/)|[Java](leetcode/solution/src/TrimABinarySearchTree.java)|100||
|681|[Next Closest Time](https://leetcode.com/problems/next-closest-time/)|[Java](leetcode/solution/src/NextClosestTime.java)|80|这题多做几遍|
|683|[K Empty Slots](https://leetcode.com/problems/k-empty-slots/)|[Java](leetcode/solution/src/KEmptySlots.java)|80||
|684|[Redundant Connection](https://leetcode.com/problems/redundant-connection/)| [Java](leetcode/solution/src/RedundantConnection.java)|||
|687|[Longest Univalue Path](https://leetcode.com/problems/longest-univalue-path/)|[Java](leetcode/solution/src/LongestUnivaluePath.java)|70||
|695|[Max Area of Island](https://leetcode.com/problems/max-area-of-island/)|[Java](leetcode/solution/src/MaxAreaOfIsland.java)|100||
|703|[Kth Largest Element in a Stream](https://leetcode.com/problems/kth-largest-element-in-a-stream/)|[Java](leetcode/solution/src/KthLargestElementInAStream.java)|100||
|771|[Jewels and Stones](https://leetcode.com/problems/jewels-and-stones/)|[Java](leetcode/solution/src/JewelsAndStones.java)|100||
|814|[Binary Tree Pruning](https://leetcode.com/problems/binary-tree-pruning/)|[Java](leetcode/solution/src/JewelsAndStones.java)|80||
|819|[Most Common Word](https://leetcode.com/problems/most-common-word/)|[Java](leetcode/solution/src/MostCommonWord.java)|85||
|843|[Guess the Word](https://leetcode.com/problems/guess-the-word/)|[Java](leetcode/solution/src/GuessTheWord.java)|90||
|844|[Backspace String Compare](https://leetcode.com/problems/backspace-string-compare/)|[Java](leetcode/solution/src/BackspaceStringCompare.java)|100||
|849|[Maximize Distance to Closest Person](https://leetcode.com/problems/maximize-distance-to-closest-person/)|[Java](leetcode/solution/src/MaximizeDistanceToClosestPerson.java)|80||
|857|[Minimum Cost to Hire K Workers](https://leetcode.com/problems/minimum-cost-to-hire-k-workers/)|[Java](leetcode/solution/src/MinimumCostToHireKWorkers.java)|70||
|872|[Leaf-Similar Trees](https://leetcode.com/problems/leaf-similar-trees/)|[Java](leetcode/solution/src/LeafSimilarTrees.java)|80||
|889|[Construct Binary Tree from Preorder and Postorder Traversal](https://leetcode.com/problems/construct-binary-tree-from-preorder-and-postorder-traversal/)|[Java](leetcode/solution/src/ConstructBinaryTreeFromPreorderAndPostorderTraversal.java)|80||
|904|[Fruit Into Baskets](https://leetcode.com/problems/fruit-into-baskets/)|[Java](leetcode/solution/src/FruitIntoBaskets.java)|90||
|929|[Unique Email Addresses](https://leetcode.com/problems/unique-email-addresses/)|[Java](leetcode/solution/src/UniqueEmailAddresses.java)|90||