pkg5leetcode

LeetCode

262 self-tested Java solutions from the curriculum. Each row opens the file in this library. The pages do not add problem statements beyond the notes already in the source.

Chapter LeetCode Practice

Starter

  1. 1Two Sumleetcode1TwoSum.javaEasyHashing
  2. 20Valid Parenthesesleetcode2ValidParentheses.javaEasyStack
  3. 242Valid Anagramleetcode3ValidAnagram.javaEasyCounting
  4. 121Best Time to Buy and Sell Stockleetcode4BestTimeToBuySellStock.javaEasyGreedy
  5. 53Maximum Subarrayleetcode5MaxSubArray.javaMediumKadane
  6. 238Product of Array Except Selfleetcode6ProductExceptSelf.javaMediumPrefix/suffix
  7. 3Longest Substring Without Repeating Charactersleetcode7LongestSubstringNoRepeat.javaMediumSliding window
  8. 56Merge Intervalsleetcode8MergeIntervals.javaMediumIntervals
  9. 206Reverse Linked Listleetcode9ReverseLinkedList.javaEasyLinked list
  10. 70Climbing Stairsleetcode10ClimbingStairs.javaEasyDP
  11. 200Number of Islandsleetcode11NumberOfIslands.javaMediumDFS
  12. 347Top K Frequent Elementsleetcode12TopKFrequent.javaMediumHeap

Blind 75

  1. 1Two Sumblind75_LC1TwoSum.javaArray
  2. 121Best Time to Buy and Sell Stockblind75_LC121BestTimeToBuyAndSellStock.javaArray
  3. 217Contains Duplicateblind75_LC217ContainsDuplicate.javaArray
  4. 238Product of Array Except Selfblind75_LC238ProductOfArrayExceptSelf.javaArray
  5. 53Maximum Subarrayblind75_LC53MaximumSubarray.javaArray
  6. 152Maximum Product Subarrayblind75_LC152MaximumProductSubarray.javaArray
  7. 153Find Minimum in Rotated Sorted Arrayblind75_LC153FindMinimumInRotatedSortedArray.javaArray
  8. 33Search in Rotated Sorted Arrayblind75_LC33SearchInRotatedSortedArray.javaArray
  9. 153Sumblind75_LC15ThreeSum.javaArray
  10. 11Container With Most Waterblind75_LC11ContainerWithMostWater.javaArray
  11. 371Sum of Two Integersblind75_LC371SumOfTwoIntegers.javaBinary
  12. 191Number of 1 Bitsblind75_LC191NumberOf1Bits.javaBinary
  13. 338Counting Bitsblind75_LC338CountingBits.javaBinary
  14. 268Missing Numberblind75_LC268MissingNumber.javaBinary
  15. 190Reverse Bitsblind75_LC190ReverseBits.javaBinary
  16. 70Climbing Stairsblind75_LC70ClimbingStairs.javaDP
  17. 322Coin Changeblind75_LC322CoinChange.javaDP
  18. 300Longest Increasing Subsequenceblind75_LC300LongestIncreasingSubsequence.javaDP
  19. 1143Longest Common Subsequenceblind75_LC1143LongestCommonSubsequence.javaDP
  20. 139Word Breakblind75_LC139WordBreak.javaDP
  21. 39Combination Sumblind75_LC39CombinationSum.javaDP
  22. 198House Robberblind75_LC198HouseRobber.javaDP
  23. 213House Robber IIblind75_LC213HouseRobberII.javaDP
  24. 91Decode Waysblind75_LC91DecodeWays.javaDP
  25. 62Unique Pathsblind75_LC62UniquePaths.javaDP
  26. 55Jump Gameblind75_LC55JumpGame.javaDP
  27. 133Clone Graphblind75_LC133CloneGraph.javaGraph
  28. 207Course Scheduleblind75_LC207CourseSchedule.javaGraph
  29. 417Pacific Atlantic Water Flowblind75_LC417PacificAtlanticWaterFlow.javaGraph
  30. 200Number of Islandsblind75_LC200NumberOfIslands.javaGraph
  31. 128Longest Consecutive Sequenceblind75_LC128LongestConsecutiveSequence.javaGraph
  32. 269Alien Dictionaryblind75_LC269AlienDictionary.javaGraph
  33. 261Graph Valid Treeblind75_LC261GraphValidTree.javaGraph
  34. 323Number of Connected Components in an Undirected Graphblind75_LC323NumberOfConnectedComponents.javaGraph
  35. 57Insert Intervalblind75_LC57InsertInterval.javaInterval
  36. 56Merge Intervalsblind75_LC56MergeIntervals.javaInterval
  37. 435Non-overlapping Intervalsblind75_LC435NonOverlappingIntervals.javaInterval
  38. 252Meeting Roomsblind75_LC252MeetingRooms.javaInterval
  39. 253Meeting Rooms IIblind75_LC253MeetingRoomsII.javaInterval
  40. 206Reverse Linked Listblind75_LC206ReverseLinkedList.javaLinked List
  41. 141Linked List Cycleblind75_LC141LinkedListCycle.javaLinked List
  42. 21Merge Two Sorted Listsblind75_LC21MergeTwoSortedLists.javaLinked List
  43. 23Merge k Sorted Listsblind75_LC23MergeKSortedLists.javaLinked List
  44. 19Remove Nth Node From End of Listblind75_LC19RemoveNthNodeFromEnd.javaLinked List
  45. 143Reorder Listblind75_LC143ReorderList.javaLinked List
  46. 73Set Matrix Zeroesblind75_LC73SetMatrixZeroes.javaMatrix
  47. 54Spiral Matrixblind75_LC54SpiralMatrix.javaMatrix
  48. 48Rotate Imageblind75_LC48RotateImage.javaMatrix
  49. 79Word Searchblind75_LC79WordSearch.javaMatrix
  50. 3Longest Substring Without Repeating Charactersblind75_LC3LongestSubstringWithoutRepeating.javaString
  51. 424Longest Repeating Character Replacementblind75_LC424LongestRepeatingCharacterReplacement.javaString
  52. 76Minimum Window Substringblind75_LC76MinimumWindowSubstring.javaString
  53. 242Valid Anagramblind75_LC242ValidAnagram.javaString
  54. 49Group Anagramsblind75_LC49GroupAnagrams.javaString
  55. 20Valid Parenthesesblind75_LC20ValidParentheses.javaString
  56. 125Valid Palindromeblind75_LC125ValidPalindrome.javaString
  57. 5Longest Palindromic Substringblind75_LC5LongestPalindromicSubstring.javaString
  58. 647Palindromic Substringsblind75_LC647PalindromicSubstrings.javaString
  59. 271Encode and Decode Stringsblind75_LC271EncodeAndDecodeStrings.javaString
  60. 104Maximum Depth of Binary Treeblind75_LC104MaximumDepthOfBinaryTree.javaTree
  61. 100Same Treeblind75_LC100SameTree.javaTree
  62. 226Invert Binary Treeblind75_LC226InvertBinaryTree.javaTree
  63. 124Binary Tree Maximum Path Sumblind75_LC124BinaryTreeMaximumPathSum.javaTree
  64. 102Binary Tree Level Order Traversalblind75_LC102BinaryTreeLevelOrderTraversal.javaTree
  65. 297Serialize and Deserialize Binary Treeblind75_LC297SerializeAndDeserializeBinaryTree.javaTree
  66. 572Subtree of Another Treeblind75_LC572SubtreeOfAnotherTree.javaTree
  67. 105Construct Binary Tree from Preorder and Inorderblind75_LC105ConstructBinaryTreeFromPreorderAndInorder.javaTree
  68. 98Validate Binary Search Treeblind75_LC98ValidateBinarySearchTree.javaTree
  69. 230Kth Smallest Element in a BSTblind75_LC230KthSmallestElementInBST.javaTree
  70. 235Lowest Common Ancestor of a BSTblind75_LC235LowestCommonAncestorOfBST.javaTree
  71. 208Implement Trie (Prefix Tree)blind75_LC208ImplementTrie.javaTree
  72. 211Design Add and Search Words Data Structureblind75_LC211DesignAddAndSearchWordsDataStructure.javaTree
  73. 212Word Search IIblind75_LC212WordSearchII.javaTree
  74. 347Top K Frequent Elementsblind75_LC347TopKFrequentElements.javaHeap
  75. 295Find Median from Data Streamblind75_LC295FindMedianFromDataStream.javaHeap

LeetCode 75

  1. 11Container With Most Waterofficial75_LC11ContainerWithMostWater.javaTwo Pointers
  2. 17Letter Combinations of a Phone Numberofficial75_LC17LetterCombinationsOfAPhoneNumber.javaBacktracking
  3. 63Unique Paths IIofficial75_LC63UniquePathsII.javaDP Multidim
  4. 72Edit Distanceofficial75_LC72EditDistance.javaDP 1D
  5. 74Search a 2D Matrixofficial75_LC74SearchA2DMatrix.javaBinary Search
  6. 104Maximum Depth of Binary Treeofficial75_LC104MaximumDepthOfBinaryTree.javaTree DFS
  7. 123Best Time to Buy and Sell Stock IIIofficial75_LC123BestTimeToBuyAndSellStockIII.javaDP Multidim
  8. 151Reverse Words in a Stringofficial75_LC151ReverseWordsInAString.javaArray / String
  9. 162Find Peak Elementofficial75_LC162FindPeakElement.javaBinary Search
  10. 188Best Time to Buy and Sell Stock IVofficial75_LC188BestTimeToBuyAndSellStockIV.javaDP Multidim
  11. 199Binary Tree Right Side Viewofficial75_LC199BinaryTreeRightSideView.javaTree BFS
  12. 206Reverse Linked Listofficial75_LC206ReverseLinkedList.javaLinked List
  13. 208Implement Trie (Prefix Tree)official75_LC208ImplementTrie.javaTrie
  14. 215Kth Largest Element in an Arrayofficial75_LC215KthLargestElementInAnArray.javaHeap / PQ
  15. 216Combination Sum IIIofficial75_LC216CombinationSumIII.javaBacktracking
  16. 221Maximal Squareofficial75_LC221MaximalSquare.javaDP Multidim
  17. 230Kth Smallest Element in a BSTofficial75_LC230KthSmallestElementInABST.javaBinary Search
  18. 236Lowest Common Ancestor of a Binary Treeofficial75_LC236LowestCommonAncestorOfBinaryTree.javaTree DFS
  19. 238Product of Array Except Selfofficial75_LC238ProductOfArrayExceptSelf.javaArray / String
  20. 283Move Zeroesofficial75_LC283MoveZeroes.javaTwo Pointers
  21. 328Odd Even Linked Listofficial75_LC328OddEvenLinkedList.javaLinked List
  22. 334Increasing Triplet Subsequenceofficial75_LC334IncreasingTripletSubsequence.javaArray / String
  23. 338Counting Bitsofficial75_LC338CountingBits.javaBit Manipulation
  24. 345Reverse Vowels of a Stringofficial75_LC345ReverseVowelsOfAString.java
  25. 373Find K Pairs with Smallest Sumsofficial75_LC373FindKPairsWithSmallestSums.javaHeap / PQ
  26. 374Guess Number Higher or Lowerofficial75_LC374GuessNumberHigherOrLower.javaBinary Search
  27. 392Is Subsequenceofficial75_LC392IsSubsequence.javaTwo Pointers
  28. 394Decode Stringofficial75_LC394DecodeString.javaStack
  29. 399Evaluate Divisionofficial75_LC399EvaluateDivision.javaGraph DFS
  30. 435Non-overlapping Intervalsofficial75_LC435NonOverlappingIntervals.javaIntervals
  31. 437Path Sum IIIofficial75_LC437PathSumIII.javaTree DFS
  32. 443String Compressionofficial75_LC443StringCompression.javaArray / String
  33. 450Delete Node in a BSTofficial75_LC450DeleteNodeInABST.javaBST
  34. 452Minimum Number of Arrows to Burst Balloonsofficial75_LC452MinimumNumberOfArrowsToBurstBalloons.javaIntervals
  35. 502IPOofficial75_LC502IPO.javaHeap / PQ
  36. 605Can Place Flowersofficial75_LC605CanPlaceFlowers.javaArray / String
  37. 643Maximum Average Subarray Iofficial75_LC643MaximumAverageSubarrayI.javaSliding Window
  38. 649Dota2 Senateofficial75_LC649Dota2Senate.javaQueue
  39. 700Search in a Binary Search Treeofficial75_LC700SearchInABinarySearchTree.javaBST
  40. 714Best Time to Buy and Sell Stock with Transaction Feeofficial75_LC714BestTimeToBuyAndSellStockWithTransactionFee.javaDP 1D
  41. 724Find Pivot Indexofficial75_LC724FindPivotIndex.javaPrefix Sum
  42. 735Asteroid Collisionofficial75_LC735AsteroidCollision.javaStack
  43. 739Daily Temperaturesofficial75_LC739DailyTemperatures.javaMonotonic Stack
  44. 746Min Cost Climbing Stairsofficial75_LC746MinCostClimbingStairs.javaDP 1D
  45. 790Domino and Tromino Tilingofficial75_LC790DominoAndTrominoTiling.javaDP 1D
  46. 797All Paths From Source to Targetofficial75_LC797AllPathsFromSourceToTarget.javaGraph DFS
  47. 841Keys and Roomsofficial75_LC841KeysAndRooms.javaGraph DFS
  48. 872Leaf-Similar Treesofficial75_LC872LeafSimilarTrees.javaTree DFS
  49. 901Online Stock Spanofficial75_LC901OnlineStockSpan.javaMonotonic Stack
  50. 933Number of Recent Callsofficial75_LC933NumberOfRecentCalls.javaQueue
  51. 994Rotting Orangesofficial75_LC994RottingOranges.javaGraph BFS
  52. 1004Max Consecutive Ones IIIofficial75_LC1004MaxConsecutiveOnesIII.javaSliding Window
  53. 1071Greatest Common Divisor of Stringsofficial75_LC1071GreatestCommonDivisorOfStrings.javaArray / String
  54. 1161Maximum Level Sum of a Binary Treeofficial75_LC1161MaximumLevelSumOfBinaryTree.javaTree BFS
  55. 1207Unique Number of Occurrencesofficial75_LC1207UniqueNumberOfOccurrences.javaHash Map / Set
  56. 1268Search Suggestions Systemofficial75_LC1268SearchSuggestionsSystem.javaTrie
  57. 1318Minimum Flips to Make a OR b Equal to cofficial75_LC1318MinimumFlipsToMakeAORbEqualToC.javaBit Manipulation
  58. 1372Longest ZigZag Path in a Binary Treeofficial75_LC1372LongestZigZagPathInBinaryTree.javaTree DFS
  59. 1431Kids With the Greatest Number of Candiesofficial75_LC1431KidsWithTheGreatestNumberOfCandies.javaArray / String
  60. 1448Count Good Nodes in Binary Treeofficial75_LC1448CountGoodNodesInBinaryTree.javaTree DFS
  61. 1456Maximum Number of Vowels in a Substringofficial75_LC1456MaximumNumberOfVowelsInSubstring.javaSliding Window
  62. 1466Reorder Routes to Make All Paths Lead to City Zeroofficial75_LC1466ReorderRoutesToMakeAllPathsLeadToCityZero.javaGraph DFS
  63. 1493Longest Subarray of 1's After Deleting One Elementofficial75_LC1493LongestSubarrayOfOnesAfterDeletingOneElement.javaSliding Window
  64. 1657Determine if Two Strings Have Equal Character Frequencyofficial75_LC1657DetermineIfTwoStringsHaveEqualCharacterFrequency.javaHash Map / Set
  65. 1679Max Number of K-Sum Pairsofficial75_LC1679MaxNumberOfKSumPairs.javaTwo Pointers
  66. 1732Find the Highest Altitudeofficial75_LC1732FindTheHighestAltitude.javaPrefix Sum
  67. 1768Merge Strings Alternatelyofficial75_LC1768MergeStringsAlternately.javaArray / String
  68. 1926Nearest Exit from Entrance in Mazeofficial75_LC1926NearestExitFromEntranceInMaze.javaGraph BFS
  69. 2095Delete the Middle Node of a Linked Listofficial75_LC2095DeleteTheMiddleNodeOfALinkedList.javaLinked List
  70. 2130Maximum Twin Sum of a Linked Listofficial75_LC2130MaximumTwinSumOfALinkedList.javaLinked List
  71. 2215Find the Difference of Two Arraysofficial75_LC2215FindTheDifferenceOfTwoArrays.javaHash Map / Set
  72. 2336Smallest Number in Infinite Setofficial75_LC2336SmallestNumberInInfiniteSet.javaHeap / PQ
  73. 2352Equal Row and Column Pairsofficial75_LC2352EqualRowAndColumnPairs.javaHash Map / Set
  74. 2390Removing Stars From a Stringofficial75_LC2390RemovingStarsFromAString.javaStack
  75. 2419Longest Subarray With Maximum Bitwise ANDofficial75_LC2419LongestSubarrayWithMaximumBitwiseAND.javaBit Manipulation

Interview 150

  1. 2Add Two Numbersinterview150_LC2AddTwoNumbers.java
  2. 4Median of Two Sorted Arraysinterview150_LC4MedianTwoSortedArrays.java
  3. 7Reverse Integerinterview150_LC7ReverseInteger.java
  4. 9Palindrome Numberinterview150_LC9PalindromeNumber.java
  5. 14Longest Common Prefixinterview150_LC14LongestCommonPrefix.java
  6. 26Remove Duplicates from Sorted Arrayinterview150_LC26RemoveDuplicates.java
  7. 27Remove Elementinterview150_LC27RemoveElement.java
  8. 35Search Insert Positioninterview150_LC35SearchInsertPosition.java
  9. 36Valid Sudokuinterview150_LC36ValidSudoku.java
  10. 42Trapping Rain Waterinterview150_LC42TrappingRainWater.java
  11. 45Jump Game IIinterview150_LC45JumpGameII.java
  12. 58Length of Last Wordinterview150_LC58LengthOfLastWord.java
  13. 66Plus Oneinterview150_LC66PlusOne.java
  14. 69Sqrt(x)interview150_LC69SqrtX.java
  15. 71Simplify Pathinterview150_LC71SimplifyPath.java
  16. 74Search a 2D Matrixinterview150_LC74SearchA2DMatrix.java
  17. 83Remove Duplicates from Sorted Listinterview150_LC83RemoveDuplicatesFromSortedList.java
  18. 88Merge Sorted Arrayinterview150_LC88MergeSortedArray.java
  19. 94Binary Tree Inorder Traversalinterview150_LC94BinaryTreeInorderTraversal.java
  20. 101Symmetric Treeinterview150_LC101SymmetricTree.java
  21. 116Populating Next Right Pointers in Each Nodeinterview150_LC116PopulatingNextRightPointers.java
  22. 118Pascal's Triangleinterview150_LC118PascalsTriangle.java
  23. 120Triangleinterview150_LC120Triangle.java
  24. 134Gas Stationinterview150_LC134GasStation.java
  25. 136Single Numberinterview150_LC136SingleNumber.java
  26. 146LRU Cacheinterview150_LC146LRUCache.java
  27. 150Evaluate Reverse Polish Notationinterview150_LC150EvaluateReversePolishNotation.java
  28. 155Min Stackinterview150_LC155MinStack.java
  29. 167Two Sum IIinterview150_LC167TwoSumII.java
  30. 169Majority Elementinterview150_LC169MajorityElement.java
  31. 171Excel Sheet Column Numberinterview150_LC171ExcelSheetColumnNumber.java
  32. 173Binary Search Tree Iteratorinterview150_LC173BinarySearchTreeIterator.java
  33. 189Rotate Arrayinterview150_LC189RotateArray.java
  34. 202Happy Numberinterview150_LC202HappyNumber.java
  35. 205Isomorphic Stringsinterview150_LC205IsomorphicStrings.java
  36. 210Course Schedule IIinterview150_LC210CourseScheduleII.java
  37. 219Contains Duplicate IIinterview150_LC219ContainsDuplicateII.java
  38. 227Basic Calculator IIinterview150_LC227BasicCalculatorII.java
  39. 228Summary Rangesinterview150_LC228SummaryRanges.java
  40. 229Majority Element IIinterview150_LC229MajorityElementII.java
  41. 234Palindrome Linked Listinterview150_LC234PalindromeLinkedList.java
  42. 236Lowest Common Ancestor of Binary Treeinterview150_LC236LowestCommonAncestorOfBinaryTree.java
  43. 283Move Zeroesinterview150_LC283MoveZeroes.java
  44. 287Find the Duplicate Numberinterview150_LC287FindTheDuplicateNumber.java
  45. 290Word Patterninterview150_LC290WordPattern.java
  46. 344Reverse Stringinterview150_LC344ReverseString.java
  47. 380Insert Delete GetRandom O(1)interview150_LC380InsertDeleteGetRandom.java
  48. 383Ransom Noteinterview150_LC383RansomNote.java
  49. 399Evaluate Divisioninterview150_LC399EvaluateDivision.java
  50. 409Longest Palindromeinterview150_LC409LongestPalindrome.java
  51. 438Find All Anagrams in a Stringinterview150_LC438FindAllAnagramsInAString.java
  52. 509Fibonacci Numberinterview150_LC509FibonacciNumber.java
  53. 560Subarray Sum Equals Kinterview150_LC560SubarraySumEqualsK.java
  54. 684Redundant Connectioninterview150_LC684RedundantConnection.java
  55. 704Binary Searchinterview150_LC704BinarySearch.java
  56. 721Accounts Mergeinterview150_LC721AccountsMerge.java
  57. 733Flood Fillinterview150_LC733FloodFill.java
  58. 739Daily Temperaturesinterview150_LC739DailyTemperatures.java
  59. 746Min Cost Climbing Stairsinterview150_LC746MinCostClimbingStairs.java
  60. 763Partition Labelsinterview150_LC763PartitionLabels.java
  61. 767Reorganize Stringinterview150_LC767ReorganizeString.java
  62. 787Cheapest Flights Within K Stopsinterview150_LC787CheapestFlightsWithinKStops.java
  63. 791Custom Sort Stringinterview150_LC791CustomSortString.java
  64. 844Backspace String Compareinterview150_LC844BackspaceStringCompare.java
  65. 852Peak Index in a Mountain Arrayinterview150_LC852PeakIndexInMountainArray.java
  66. 875Koko Eating Bananasinterview150_LC875KokoEatingBananas.java
  67. 876Middle of the Linked Listinterview150_LC876MiddleOfTheLinkedList.java
  68. 909Snakes and Laddersinterview150_LC909SnakesAndLadders.java
  69. 921Minimum Add to Make Parentheses Validinterview150_LC921MinimumAddToMakeValid.java
  70. 931Minimum Falling Path Suminterview150_LC931MinimumFallingPathSum.java
  71. 977Squares of a Sorted Arrayinterview150_LC977SquaresOfASortedArray.java
  72. 981Time Based Key-Value Storeinterview150_LC981TimeBasedKeyValueStore.java
  73. 989Add Stringsinterview150_LC989AddStrings.java
  74. 994Rotting Orangesinterview150_LC994RottingOranges.java
  75. 1004Max Consecutive Ones IIIinterview150_LC1004MaxConsecutiveOnesIII.java

Top 100

  1. 17Letter Combinations of a Phone Numbertop100_LC17LetterCombinationsOfAPhoneNumber.java
  2. 22Generate Parenthesestop100_LC22GenerateParentheses.java
  3. 31Next Permutationtop100_LC31NextPermutation.java
  4. 34Find First and Last Position of Elementtop100_LC34FindFirstAndLastPositionOfElement.java
  5. 46Permutationstop100_LC46Permutations.java
  6. 51N-Queenstop100_LC51NQueens.java
  7. 64Minimum Path Sumtop100_LC64MinimumPathSum.java
  8. 72Edit Distancetop100_LC72EditDistance.java
  9. 75Sort Colorstop100_LC75SortColors.java
  10. 78Subsetstop100_LC78Subsets.java
  11. 84Largest Rectangle in Histogramtop100_LC84LargestRectangleInHistogram.java
  12. 85Maximal Rectangletop100_LC85MaximalRectangle.java
  13. 86Partition Listtop100_LC86PartitionList.java
  14. 96Unique Binary Search Treestop100_LC96UniqueBinarySearchTrees.java
  15. 114Flatten Binary Tree to Linked Listtop100_LC114FlattenBinaryTreeToLinkedList.java
  16. 148Sort Listtop100_LC148SortList.java
  17. 215Kth Largest Element in an Arraytop100_LC215KthLargestElementInAnArray.java
  18. 222Count Complete Tree Nodestop100_LC222CountCompleteTreeNodes.java
  19. 239Sliding Window Maximumtop100_LC239SlidingWindowMaximum.java
  20. 240Search a 2D Matrix IItop100_LC240SearchA2DMatrixII.java
  21. 448Find All Numbers Disappeared in an Arraytop100_LC448FindAllNumbersDisappearedInAnArray.java
  22. 461Hamming Distancetop100_LC461HammingDistance.java
  23. 494Target Sumtop100_LC494TargetSum.java
  24. 503Next Greater Element IItop100_LC503NextGreaterElementII.java
  25. 516Longest Palindromic Subsequencetop100_LC516LongestPalindromicSubsequence.java

Helpers

  1. Shared ListNode for linked-list problems.ListNode.java
  2. Shared TreeNode for binary-tree problems.TreeNode.java