Implementations and solution for common algorithms and interview problems.
-
Stack
-
Queue
-
Linked List
-
Binary Search Tree
-
Binary Tree
- Binary tree to Linked list
- Binary tree breadth first search
- Binary tree print all nodes
- Binary tree height
- Is Binary tree a BST
- Is binary tree balanced
- Binary tree left leaf sum
- Binary tree left view
- Binary tree lowest common ancestor
- Binary tree minimum and maximum
- Binary tree path from root to node
- Binary tree root to leaf path with given sum
- Binary tree size
- Minimal Binary tree
-
String
-
- Combinations
- CombinationSum
- CombinationSumIII
- ConfusingNumbersII
- DecodeWays
- FirstSecondThird
- FlightItinerary
- GenerateNgrams
- GenerateParenthesis
- LatestTime
- LicensePlate
- NextCloseTime
- PalindromePartitions
- PermutationII
- PermutationOfDigits
- PermutationOfString
- PhoneNumberCombinations
- StringCombinations
- UniqueDigitNumbers
- ValidDates
- ValidTriangleNumbers
- WordBreak
- WordBreakII
-
- All Path From SourcetoDest
- BinaryTree LevelOrderConnect
- BinaryTree LevelOrderTraverse
- BinaryTree LowestCommonAncestor
- BinaryTreeMaxSumLevel
- FloodFillBFS
- BinaryTree MirrorIteration
- ColumnOrderTraversal
- GameOfLife
- GraphNodes CountInLevel
- KnightMinimumMoves
- ShortestPathBinaryMatrix
- Rotten Oranges
- Maze BFS Graph
- BFS Graph
- ShortestPathGraph
-
- BST DeleteNode
- BinaryTree CountUnival Subtree
- BinaryTree ExtraEdge RemoveRecursion
- BinaryTree Is BST
- BinaryTree IsBalanced Recursive
- BinaryTree LCA Recursion
- BinaryTree Mirror
- BinaryTree PathWithSequence
- BinaryTree RootToLeafPath
- BinaryTree RootToLeafSumPath
- BinaryTree SumOfPathNumbers
- BinaryTree VisibleTreeNode
- DFS Graph
- Nary Tree Height
-
- ClassicKnapsack
- CoinChangeUnboundedKnapsack
- CountOfSubsetSum
- DecodeStringWays
- Fibonacii
- HouseRobber
- KnapSack
- LargestValueLabels
- LongestCommonSubsequece
- LongestCommonSubstringLength
- LongestIncreasingPathInMatrix
- LongestIncreasingSequence
- LongestPalindromicSubsequence
- LongestPalindromicSubstringCount
- MaxSumIncreasingSubsequence
- MinCoinChangeUnboundedKnapsack
- MinimumDeletionsMakePalindrom
- MinimumDistanceWordKeyboard
- MinimumStepsFee
- MinimumStepsToOne
- MinimumSubsetDifference
- NumberFactors
- PalindromicSubstringCount
- PartitionEqualSubsetSum
- PascalTriangleRow
- PascalsTriangleMemoization
- RodCutUnboundedKnapsack
- StaircaseProblem
- StringTransformation
- SubsetSumTarget
- TargetSumExpression
- TargetSumSymbols
- UnboundedKnapsack
- ZeroOneMatrix
-
- AlphabeticSortedMergeRecursion
- BinaryTreeIdentical
- GCDRecursion
- KthInGrammarRecursion
- LinkedListLengthRecursion
- LinkedListMergeSortedRecursion
- LinkedListSwapNodesRecursion
- MergeBinaryTree
- NumberConversionRecursion
- PalindromeRecursion
- PascalsTriangleRecursion
- PowerOfNumberRecursion
- PrimeNumberCheckRecursion
- RemoveDuplicates
- ReverseOnlyAlphabets
- VowelsInStringRecursion