# 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||