https://github.com/puneetkakkar/dsa-problems-tracker
Repository of the DSA problems solved till latest
https://github.com/puneetkakkar/dsa-problems-tracker
Last synced: 3 months ago
JSON representation
Repository of the DSA problems solved till latest
- Host: GitHub
- URL: https://github.com/puneetkakkar/dsa-problems-tracker
- Owner: puneetkakkar
- Created: 2022-07-01T06:46:11.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2024-07-25T17:57:50.000Z (10 months ago)
- Last Synced: 2024-12-29T08:11:56.891Z (5 months ago)
- Language: C++
- Size: 277 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# DSA Problems Tracker
###

#### _Total Questions Solved: 71_
### Arrays _(33/36)_
- [x] [Reverse the array](https://www.geeksforgeeks.org/write-a-program-to-reverse-an-array-or-string/?target=_blank)
- [x] [Find the maximum and minimum element in an array](https://www.geeksforgeeks.org/maximum-and-minimum-in-an-array/)
- [x] [Find the "Kth" max and min element of an array ](https://practice.geeksforgeeks.org/problems/kth-smallest-element/0)
- [x] [Given an array which consists of only 0, 1 and 2. Sort the array without using any sorting algo](https://practice.geeksforgeeks.org/problems/sort-an-array-of-0s-1s-and-2s/0)
- [x] [Move all the negative elements to one side of the array ](https://www.geeksforgeeks.org/move-negative-numbers-beginning-positive-end-constant-extra-space/)
- [x] [Find the Union and Intersection of the two sorted arrays.](https://practice.geeksforgeeks.org/problems/union-of-two-arrays/0)
- [x] [Write a program to cyclically rotate an array by one.](https://practice.geeksforgeeks.org/problems/cyclically-rotate-an-array-by-one/0)
- [x] [Find Largest sum contiguous Subarray [V. IMP]](https://practice.geeksforgeeks.org/problems/kadanes-algorithm/0) [REVISIT-DP]
- [x] [Minimise the maximum difference between heights [V.IMP]](https://practice.geeksforgeeks.org/problems/minimize-the-heights3351/1) [REVISIT]
- [x] [Minimum no. of Jumps to reach end of an array](https://practice.geeksforgeeks.org/problems/minimum-number-of-jumps/0)
- [x] [Find duplicate in an array of N+1 Integers](https://leetcode.com/problems/find-the-duplicate-number/)
- [x] [Merge 2 sorted arrays without using Extra space.](https://practice.geeksforgeeks.org/problems/merge-two-sorted-arrays-1587115620/1) [REVISIT]
- [x] [Kadane's Algo [V.V.V.V.V IMP]](https://practice.geeksforgeeks.org/problems/kadanes-algorithm/0)
- [x] [Merge Intervals](https://leetcode.com/problems/merge-intervals/)
- [x] [Next Permutation](https://leetcode.com/problems/next-permutation/)
- [x] [Count Inversion](https://practice.geeksforgeeks.org/problems/inversion-of-array/0) [REVISIT]
- [x] [Best time to buy and Sell stock](https://leetcode.com/problems/best-time-to-buy-and-sell-stock/)
- [x] [Find all pairs on integer array whose sum is equal to given number](https://practice.geeksforgeeks.org/problems/count-pairs-with-given-sum5022/1)
- [x] [Find common elements In 3 sorted arrays](https://practice.geeksforgeeks.org/problems/common-elements1132/1)
- [x] [Rearrange Array Elements by Sign](https://leetcode.com/problems/rearrange-array-elements-by-sign/)
- [x] [Rearrange the array in alternating positive and negative items with O(1) extra space](https://www.geeksforgeeks.org/rearrange-array-alternating-positive-negative-items-o1-extra-space/)
- [x] [Find if there is any subarray with sum equal to 0](https://practice.geeksforgeeks.org/problems/subarray-with-0-sum/0) [REVISIT]
- [x] [Find factorial of a large number](https://practice.geeksforgeeks.org/problems/factorials-of-large-numbers/0) [REVISIT]
- [x] [Find maximum product subarray ](https://practice.geeksforgeeks.org/problems/maximum-product-subarray3604/1) [REVISIT]
- [x] [Find longest consecutive subsequence](https://practice.geeksforgeeks.org/problems/longest-consecutive-subsequence/0) [REVISIT]
- [x] [Given an array of size n and a number k, fin all elements that appear more than " n/k " times.](https://www.geeksforgeeks.org/given-an-array-of-of-size-n-finds-all-the-elements-that-appear-more-than-nk-times/)
- [ ] [Maximum profit by buying and selling a share atmost twice](https://www.geeksforgeeks.org/maximum-profit-by-buying-and-selling-a-share-at-most-twice/)
- [x] [Find whether an array is a subset of another array](https://practice.geeksforgeeks.org/problems/array-subset-of-another-array/0)
- [x] [Find the triplet that sum to a given value](https://practice.geeksforgeeks.org/problems/triplet-sum-in-array/0)
- [x] [Trapping Rain water problem](https://practice.geeksforgeeks.org/problems/trapping-rain-water/0)
- [x] [Chocolate Distribution problem](https://practice.geeksforgeeks.org/problems/chocolate-distribution-problem/0)
- [x] [Smallest Subarray with sum greater than a given value](https://practice.geeksforgeeks.org/problems/smallest-subarray-with-sum-greater-than-x/0)
- [x] [Three way partitioning of an array around a given value](https://practice.geeksforgeeks.org/problems/three-way-partitioning/1)
- [x] [Minimum swaps required bring elements less equal K together](https://practice.geeksforgeeks.org/problems/minimum-swaps-required-to-bring-all-elements-less-than-or-equal-to-k-together/0) [REVISIT]
- [x] [Minimum no. of operations required to make an array palindrome](https://leetcode.com/problems/minimum-number-of-moves-to-make-palindrome/description/) [REVISIT]
- [ ] [Median of 2 sorted arrays of equal size](https://practice.geeksforgeeks.org/problems/find-the-median0527/1) [REVISIT]
- [ ] [Median of 2 sorted arrays of different size](https://www.geeksforgeeks.org/median-of-two-sorted-arrays-of-different-sizes/)
### Matrix _(5/10)_
- [x] [Spiral traversal on a Matrix](https://practice.geeksforgeeks.org/problems/spirally-traversing-a-matrix/0)
- [x] [Search an element in a matriix](https://leetcode.com/problems/search-a-2d-matrix/)
- [x] [Find median in a row wise sorted matrix](https://practice.geeksforgeeks.org/problems/median-in-a-row-wise-sorted-matrix1527/1) [REVISIT]
- [x] [Find row with maximum no. of 1's](https://practice.geeksforgeeks.org/problems/row-with-max-1s0023/1) [REVISIT]
- [x] [Print elements in sorted order using row-column wise sorted matrix](https://practice.geeksforgeeks.org/problems/sorted-matrix/0)
- [ ] [Maximum size rectangle](https://practice.geeksforgeeks.org/problems/max-rectangle/1) [REVISIT]
- [ ] [Find a specific pair in matrix](https://www.geeksforgeeks.org/find-a-specific-pair-in-matrix/)
- [ ] [Rotate matrix by 90 degrees](https://www.geeksforgeeks.org/rotate-a-matrix-by-90-degree-in-clockwise-direction-without-using-any-extra-space/)
- [ ] [Kth smallest element in a row-cpumn wise sorted matrix](https://practice.geeksforgeeks.org/problems/kth-element-in-matrix/1)
- [ ] [Common elements in all rows of a given matrix](https://www.geeksforgeeks.org/common-elements-in-all-rows-of-a-given-matrix/)
### String _(3/43)_
- [ ] [Reverse a String](https://leetcode.com/problems/reverse-string/)
- [X] [Check whether a String is Palindrome or not](https://practice.geeksforgeeks.org/problems/palindrome-string0817/1)
- [ ] [Find Duplicate characters in a string](https://www.geeksforgeeks.org/print-all-the-duplicates-in-the-input-string/)
- [ ] [Write a Code to check whether one string is a rotation of another](https://www.geeksforgeeks.org/a-program-to-check-if-strings-are-rotations-of-each-other/)
- [ ] [Write a Program to check whether a string is a valid shuffle of two strings or not](https://www.programiz.com/java-programming/examples/check-valid-shuffle-of-strings)
- [ ] [Count and Say problem](https://leetcode.com/problems/count-and-say/)
- [X] [Write a program to find the longest Palindrome in a string.[ Longest palindromic Substring]](https://practice.geeksforgeeks.org/problems/longest-palindrome-in-a-string/0)
- [ ] [Find Longest Recurring Subsequence in String](https://practice.geeksforgeeks.org/problems/longest-repeating-subsequence/0)
- [ ] [Print all Subsequences of a string.](https://www.geeksforgeeks.org/print-subsequences-string/)
- [ ] [Print all the permutations of the given string](https://practice.geeksforgeeks.org/problems/permutations-of-a-given-string/0)
- [ ] [Split the Binary string into two substring with equal 0’s and 1’s](https://www.geeksforgeeks.org/split-the-binary-string-into-substrings-with-equal-number-of-0s-and-1s/)
- [ ] [Word Wrap Problem [VERY IMP].](https://practice.geeksforgeeks.org/problems/word-wrap/0)
- [ ] [EDIT Distance [Very Imp]](https://practice.geeksforgeeks.org/problems/edit-distance3702/1)
- [ ] [Find next greater number with same set of digits. [Very Very IMP]](https://practice.geeksforgeeks.org/problems/next-permutation/0)
- [x] [Balanced Parenthesis problem.[Imp]](https://practice.geeksforgeeks.org/problems/parenthesis-checker/0)
- [ ] [Word break Problem[ Very Imp]](https://practice.geeksforgeeks.org/problems/word-break/0)
- [ ] [Rabin Karp Algo](https://www.geeksforgeeks.org/rabin-karp-algorithm-for-pattern-searching/)
- [ ] [KMP Algo](https://practice.geeksforgeeks.org/problems/longest-prefix-suffix2527/1)
- [ ] [Convert a Sentence into its equivalent mobile numeric keypad sequence.](https://www.geeksforgeeks.org/convert-sentence-equivalent-mobile-numeric-keypad-sequence/)
- [ ] [Minimum number of bracket reversals needed to make an expression balanced.](https://practice.geeksforgeeks.org/problems/count-the-reversals/0)
- [ ] [Count All Palindromic Subsequence in a given String.](https://practice.geeksforgeeks.org/problems/count-palindromic-subsequences/1)
- [ ] [Count of number of given string in 2D character array](https://www.geeksforgeeks.org/find-count-number-given-string-present-2d-character-array/)
- [ ] [Search a Word in a 2D Grid of characters.](https://practice.geeksforgeeks.org/problems/find-the-string-in-grid/0)
- [ ] [Boyer Moore Algorithm for Pattern Searching.](https://www.geeksforgeeks.org/boyer-moore-algorithm-for-pattern-searching/)
- [ ] [Converting Roman Numerals to Decimal](https://practice.geeksforgeeks.org/problems/roman-number-to-integer/0)
- [ ] [Longest Common Prefix](https://leetcode.com/problems/longest-common-prefix/)
- [ ] [Number of flips to make binary string alternate](https://practice.geeksforgeeks.org/problems/min-number-of-flips/0)
- [ ] [Find the first repeated word in string.](https://practice.geeksforgeeks.org/problems/second-most-repeated-string-in-a-sequence/0)
- [ ] [Minimum number of swaps for bracket balancing.](https://practice.geeksforgeeks.org/problems/minimum-swaps-for-bracket-balancing/0)
- [ ] [Find the longest common subsequence between two strings.](https://practice.geeksforgeeks.org/problems/longest-common-subsequence/0)
- [ ] [Program to generate all possible valid IP addresses from given string.](https://www.geeksforgeeks.org/program-generate-possible-valid-ip-addresses-given-string/)
- [ ] [Write a program to find the smallest window that contains all characters of string itself.](https://practice.geeksforgeeks.org/problems/smallest-distant-window/0)
- [ ] [Rearrange characters in a string such that no two adjacent are same](https://practice.geeksforgeeks.org/problems/rearrange-characters/0)
- [ ] [Minimum characters to be added at front to make string palindrome](https://www.geeksforgeeks.org/minimum-characters-added-front-make-string-palindrome/)
- [ ] [Given a sequence of words, print all anagrams together](https://practice.geeksforgeeks.org/problems/k-anagrams-1/0)
- [ ] [Find the smallest window in a string containing all characters of another string](https://practice.geeksforgeeks.org/problems/smallest-window-in-a-string-containing-all-the-characters-of-another-string/0)
- [ ] [Recursively remove all adjacent duplicates](https://practice.geeksforgeeks.org/problems/consecutive-elements/0)
- [ ] [String matching where one string contains wildcard characters](https://practice.geeksforgeeks.org/problems/wildcard-string-matching/0)
- [ ] [Function to find Number of customers who could not get a computer](https://www.geeksforgeeks.org/function-to-find-number-of-customers-who-could-not-get-a-computer/)
- [ ] [Transform One String to Another using Minimum Number of Given Operation](https://www.geeksforgeeks.org/transform-one-string-to-another-using-minimum-number-of-given-operation/)
- [ ] [Check if two given strings are isomorphic to each other](https://practice.geeksforgeeks.org/problems/isomorphic-strings/0)
- [ ] [Recursively print all sentences that can be formed from list of word lists](https://www.geeksforgeeks.org/recursively-print-all-sentences-that-can-be-formed-from-list-of-word-lists/)
### Search and Sort _(3/36)_
- [ ] [Find first and last positions of an element in a sorted array](https://practice.geeksforgeeks.org/problems/first-and-last-occurrences-of-x/0)
- [ ] [Find a Fixed Point (Value equal to index) in a given array](https://practice.geeksforgeeks.org/problems/value-equal-to-index-value1330/1)
- [X] [Search in a rotated sorted array](https://leetcode.com/problems/search-in-rotated-sorted-array/)
- [ ] [Square root of an integer](https://practice.geeksforgeeks.org/problems/count-squares3649/1)
- [ ] [Maximum and minimum of an array using minimum number of comparisons](https://practice.geeksforgeeks.org/problems/middle-of-three2926/1)
- [ ] [Optimum location of point to minimize total distance](https://www.geeksforgeeks.org/optimum-location-point-minimize-total-distance/#:~:text=We%20need%20to%20find%20a,set%20of%20points%20is%20minimum.&text=In%20above%20figure%20optimum%20location,is%20minimum%20obtainable%20total%20distance.)
- [ ] [Find the repeating and the missing](https://practice.geeksforgeeks.org/problems/find-missing-and-repeating2512/1)
- [X] [Find majority element](https://practice.geeksforgeeks.org/problems/majority-element/0)
- [ ] [Searching in an array where adjacent differ by at most k](https://www.geeksforgeeks.org/searching-array-adjacent-differ-k/)
- [ ] [Find a pair with a given difference](https://practice.geeksforgeeks.org/problems/find-pair-given-difference/0)
- [ ] [Find four elements that sum to a given value](https://practice.geeksforgeeks.org/problems/find-all-four-sum-numbers/0)
- [ ] [Maximum sum such that no 2 elements are adjacent](https://practice.geeksforgeeks.org/problems/stickler-theif/0)
- [ ] [Count triplet with sum smaller than a given value](https://practice.geeksforgeeks.org/problems/count-triplets-with-sum-smaller-than-x5549/1)
- [ ] [Merge 2 sorted arrays](https://practice.geeksforgeeks.org/problems/merge-two-sorted-arrays5135/1)
- [ ] [Print all subarrays with 0 sum](https://practice.geeksforgeeks.org/problems/zero-sum-subarrays/0)
- [X] [Product array Puzzle](https://practice.geeksforgeeks.org/problems/product-array-puzzle/0)
- [ ] [Sort array according to count of set bits](https://practice.geeksforgeeks.org/problems/sort-by-set-bit-count/0)
- [ ] [Minimum no. of swaps required to sort the array](https://practice.geeksforgeeks.org/problems/minimum-swaps/1)
- [ ] [Bishu and Soldiers](https://www.hackerearth.com/practice/algorithms/searching/binary-search/practice-problems/algorithm/bishu-and-soldiers/)
- [ ] [Rasta and Kheshtak](https://www.hackerearth.com/practice/algorithms/searching/binary-search/practice-problems/algorithm/rasta-and-kheshtak/)
- [ ] [Kth smallest number again](https://www.hackerearth.com/practice/algorithms/searching/binary-search/practice-problems/algorithm/kth-smallest-number-again-2/)
- [ ] [Find pivot element in a sorted array](http://theoryofprogramming.com/2017/12/16/find-pivot-element-sorted-rotated-array/)
- [ ] [K-th Element of Two Sorted Arrays](https://practice.geeksforgeeks.org/problems/k-th-element-of-two-sorted-array/0)
- [ ] [Aggressive cows](https://www.spoj.com/problems/AGGRCOW/)
- [ ] [Book Allocation Problem](https://practice.geeksforgeeks.org/problems/allocate-minimum-number-of-pages/0)
- [ ] [EKOSPOJ](https://www.spoj.com/problems/EKO/)
- [ ] [Job Scheduling Algo](https://www.geeksforgeeks.org/weighted-job-scheduling-log-n-time/)
- [ ] [Missing Number in AP](https://practice.geeksforgeeks.org/problems/arithmetic-number/0)
- [ ] [Smallest number with atleastn trailing zeroes infactorial](https://practice.geeksforgeeks.org/problems/smallest-factorial-number5929/1)
- [ ] [Painters Partition Problem](https://practice.geeksforgeeks.org/problems/allocate-minimum-number-of-pages/0)
- [ ] [ROTI-Prata SPOJ](https://www.spoj.com/problems/PRATA/)
- [ ] [DoubleHelix SPOJ](https://www.spoj.com/problems/ANARC05B/)
- [ ] [Subset Sums](https://www.spoj.com/problems/SUBSUMS/)
- [ ] [Find the inversion count](https://practice.geeksforgeeks.org/problems/inversion-of-array/0)
- [ ] [Implement Merge-sort in-place](https://www.geeksforgeeks.org/in-place-merge-sort/)
- [ ] [Partitioning and Sorting Arrays with Many Repeated Entries](https://www.baeldung.com/java-sorting-arrays-with-repeated-entries)
### Linked List _(3/36)_
- [X] [Write a Program to reverse the Linked List. (Both Iterative and recursive)](https://www.geeksforgeeks.org/reverse-a-linked-list/)
- [ ] [Reverse a Linked List in group of Given Size. [Very Imp]](https://practice.geeksforgeeks.org/problems/reverse-a-linked-list-in-groups-of-given-size/1)
- [X] [Write a program to Detect loop in a linked list.](https://practice.geeksforgeeks.org/problems/detect-loop-in-linked-list/1)
- [ ] [Write a program to Delete loop in a linked list.](https://practice.geeksforgeeks.org/problems/remove-loop-in-linked-list/1)
- [ ] [Find the starting point of the loop. ](https://www.geeksforgeeks.org/find-first-node-of-loop-in-a-linked-list/)
- [ ] [Remove Duplicates in a sorted Linked List.](https://practice.geeksforgeeks.org/problems/remove-duplicate-element-from-sorted-linked-list/1)
- [ ] [Remove Duplicates in a Un-sorted Linked List.](https://practice.geeksforgeeks.org/problems/remove-duplicates-from-an-unsorted-linked-list/1)
- [ ] [Write a Program to Move the last element to Front in a Linked List.](https://www.geeksforgeeks.org/move-last-element-to-front-of-a-given-linked-list/)
- [ ] [Add “1” to a number represented as a Linked List.](https://practice.geeksforgeeks.org/problems/add-1-to-a-number-represented-as-linked-list/1)
- [ ] [Add two numbers represented by linked lists.](https://practice.geeksforgeeks.org/problems/add-two-numbers-represented-by-linked-lists/1)
- [ ] [Intersection of two Sorted Linked List.](https://practice.geeksforgeeks.org/problems/intersection-of-two-sorted-linked-lists/1)
- [ ] [Intersection Point of two Linked Lists.](https://practice.geeksforgeeks.org/problems/intersection-point-in-y-shapped-linked-lists/1)
- [ ] [Merge Sort For Linked lists.[Very Important]](https://practice.geeksforgeeks.org/problems/sort-a-linked-list/1)
- [ ] [Quicksort for Linked Lists.[Very Important]](https://practice.geeksforgeeks.org/problems/quick-sort-on-linked-list/1)
- [X] [Find the middle Element of a linked list.](https://leetcode.com/problems/middle-of-the-linked-list/)
- [ ] [Check if a linked list is a circular linked list.](https://practice.geeksforgeeks.org/problems/circular-linked-list/1)
- [ ] [Split a Circular linked list into two halves.](https://practice.geeksforgeeks.org/problems/split-a-circular-linked-list-into-two-halves/1)
- [ ] [Write a Program to check whether the Singly Linked list is a palindrome or not.](https://practice.geeksforgeeks.org/problems/check-if-linked-list-is-pallindrome/1)
- [ ] [Deletion from a Circular Linked List.](https://www.geeksforgeeks.org/deletion-circular-linked-list/)
- [ ] [Reverse a Doubly Linked list.](https://practice.geeksforgeeks.org/problems/reverse-a-doubly-linked-list/1)
- [ ] [Find pairs with a given sum in a DLL.](https://www.geeksforgeeks.org/find-pairs-given-sum-doubly-linked-list/)
- [ ] [Count triplets in a sorted DLL whose sum is equal to given value “X”.](https://www.geeksforgeeks.org/count-triplets-sorted-doubly-linked-list-whose-sum-equal-given-value-x/)
- [ ] [Sort a “k”sorted Doubly Linked list.[Very IMP]](https://www.geeksforgeeks.org/sort-k-sorted-doubly-linked-list/)
- [ ] [Rotate DoublyLinked list by N nodes.](https://www.geeksforgeeks.org/rotate-doubly-linked-list-n-nodes/)
- [ ] [Rotate a Doubly Linked list in group of Given Size.[Very IMP]](https://www.geeksforgeeks.org/reverse-doubly-linked-list-groups-given-size/)
- [ ] Can we reverse a linked list in less than O(n) ?
- [ ] Why Quicksort is preferred for. Arrays and Merge Sort for LinkedLists ?
- [ ] [Flatten a Linked List](https://practice.geeksforgeeks.org/problems/flattening-a-linked-list/1)
- [ ] [Sort a LL of 0's, 1's and 2's](https://practice.geeksforgeeks.org/problems/given-a-linked-list-of-0s-1s-and-2s-sort-it/1)
- [ ] [Clone a linked list with next and random pointer](https://practice.geeksforgeeks.org/problems/clone-a-linked-list-with-next-and-random-pointer/1)
- [ ] [Merge K sorted Linked list](https://practice.geeksforgeeks.org/problems/merge-k-sorted-linked-lists/1)
- [ ] [Multiply 2 no. represented by LL](https://practice.geeksforgeeks.org/problems/multiply-two-linked-lists/1)
- [ ] [Delete nodes which have a greater value on right side](https://practice.geeksforgeeks.org/problems/delete-nodes-having-greater-value-on-right/1)
- [ ] [Segregate even and odd nodes in a Linked List](https://practice.geeksforgeeks.org/problems/segregate-even-and-odd-nodes-in-a-linked-list/0)
- [ ] [Program for n’th node from the end of a Linked List](https://practice.geeksforgeeks.org/problems/nth-node-from-end-of-linked-list/1)
- [ ] [Find the first non-repeating character from a stream of characters](https://practice.geeksforgeeks.org/problems/first-non-repeating-character-in-a-stream/0)
### Binary Trees _(7/35)_
- [ ] [Level order traversal](https://practice.geeksforgeeks.org/problems/level-order-traversal/1)
- [ ] [Reverse Level Order traversal](https://practice.geeksforgeeks.org/problems/reverse-level-order-traversal/1)
- [X] [Height of a tree](https://practice.geeksforgeeks.org/problems/height-of-binary-tree/1)
- [X] [Diameter of a tree](https://practice.geeksforgeeks.org/problems/diameter-of-binary-tree/1)
- [X] [Mirror of a tree](https://leetcode.com/problems/invert-binary-tree/description/)
- [ ] [Inorder Traversal of a tree both using recursion and Iteration](https://www.techiedelight.com/inorder-tree-traversal-iterative-recursive/)
- [ ] [Preorder Traversal of a tree both using recursion and Iteration](https://www.techiedelight.com/preorder-tree-traversal-iterative-recursive/)
- [ ] [Postorder Traversal of a tree both using recursion and Iteration](https://www.techiedelight.com/postorder-tree-traversal-iterative-recursive/)
- [ ] [Left View of a tree](https://practice.geeksforgeeks.org/problems/left-view-of-binary-tree/1)
- [X] [Right View of Tree](https://practice.geeksforgeeks.org/problems/right-view-of-binary-tree/1)
- [ ] [Top View of a tree](https://practice.geeksforgeeks.org/problems/top-view-of-binary-tree/1)
- [ ] [Bottom View of a tree](https://practice.geeksforgeeks.org/problems/bottom-view-of-binary-tree/1)
- [ ] [Zig-Zag traversal of a binary tree](https://practice.geeksforgeeks.org/problems/zigzag-tree-traversal/1)
- [X] [Check if a tree is balanced or not](https://leetcode.com/problems/balanced-binary-tree/)
- [ ] [Diagonal Traversal of a Binary tree](https://www.geeksforgeeks.org/diagonal-traversal-of-binary-tree/)
- [ ] [Boundary traversal of a Binary tree](https://practice.geeksforgeeks.org/problems/boundary-traversal-of-binary-tree/1)
- [ ] [Construct Binary Tree from String with Bracket Representation](https://www.geeksforgeeks.org/construct-binary-tree-string-bracket-representation/)
- [ ] [Convert Binary tree into Doubly Linked List](https://practice.geeksforgeeks.org/problems/binary-tree-to-dll/1)
- [ ] [Convert Binary tree into Sum tree](https://practice.geeksforgeeks.org/problems/transform-to-sum-tree/1)
- [X] [Construct Binary tree from Inorder and preorder traversal](https://practice.geeksforgeeks.org/problems/construct-tree-1/1)
- [ ] [Find minimum swaps required to convert a Binary tree into BST](https://www.geeksforgeeks.org/minimum-swap-required-convert-binary-tree-binary-search-tree/#:~:text=Given%20the%20array%20representation%20of,it%20into%20Binary%20Search%20Tree.&text=Swap%201%3A%20Swap%20node%208,node%209%20with%20node%2010.)
- [ ] [Check if Binary tree is Sum tree or not](https://practice.geeksforgeeks.org/problems/sum-tree/1)
- [ ] [Check if all leaf nodes are at same level or not](https://practice.geeksforgeeks.org/problems/leaf-at-same-level/1)
- [ ] [Check if a Binary Tree contains duplicate subtrees of size 2 or more [ IMP ]](https://practice.geeksforgeeks.org/problems/duplicate-subtree-in-binary-tree/1)
- [ ] [Check if 2 trees are mirror or not](https://practice.geeksforgeeks.org/problems/check-mirror-in-n-ary-tree/0)
- [ ] [Sum of Nodes on the Longest path from root to leaf node ](https://practice.geeksforgeeks.org/problems/sum-of-the-longest-bloodline-of-a-tree/1)
- [ ] [Check if given graph is tree or not. [ IMP ]](https://www.geeksforgeeks.org/check-given-graph-tree/#:~:text=Since%20the%20graph%20is%20undirected,graph%20is%20connected%2C%20otherwise%20not.)
- [ ] [Find Largest subtree sum in a tree](https://www.geeksforgeeks.org/find-largest-subtree-sum-tree/)
- [ ] [Maximum Sum of nodes in Binary tree such that no two are adjacent ](https://www.geeksforgeeks.org/maximum-sum-nodes-binary-tree-no-two-adjacent/)
- [ ] [Print all "K" Sum paths in a Binary tree](https://www.geeksforgeeks.org/print-k-sum-paths-binary-tree/)
- [X] [Find LCA in a Binary tree](https://practice.geeksforgeeks.org/problems/lowest-common-ancestor-in-a-binary-tree/1)
- [ ] [Find distance between 2 nodes in a Binary tree](https://practice.geeksforgeeks.org/problems/min-distance-between-two-given-nodes-of-a-binary-tree/1)
- [ ] [Kth Ancestor of node in a Binary tree](https://www.geeksforgeeks.org/kth-ancestor-node-binary-tree-set-2/)
- [ ] [Find all Duplicate subtrees in a Binary tree [ IMP ]](https://practice.geeksforgeeks.org/problems/duplicate-subtrees/1)
- [ ] [Tree Isomorphism Problem](https://practice.geeksforgeeks.org/problems/check-if-tree-is-isomorphic/1)
### Binary Search Trees _(2/22)_
- [ ] [Find a value in a BST](https://www.geeksforgeeks.org/binary-search-tree-set-1-search-and-insertion/)
- [ ] [Deletion of a node in a BST](https://leetcode.com/problems/delete-node-in-a-bst/)
- [ ] [Find min and max value in a BST](https://practice.geeksforgeeks.org/problems/minimum-element-in-bst/1)
- [ ] [Find inorder successor and inorder predecessor in a BST](https://practice.geeksforgeeks.org/problems/predecessor-and-successor/1)
- [X] [Check if a tree is a BST or not ](https://practice.geeksforgeeks.org/problems/check-for-bst/1)
- [ ] [Populate Inorder successor of all nodes](https://practice.geeksforgeeks.org/problems/populate-inorder-successor-for-all-nodes/1)
- [X] [Find LCA of 2 nodes in a BST](https://practice.geeksforgeeks.org/problems/lowest-common-ancestor-in-a-bst/1)
- [ ] [Construct BST from preorder traversal](https://www.geeksforgeeks.org/construct-bst-from-given-preorder-traversa/)
- [ ] [Convert Binary tree into BST](https://practice.geeksforgeeks.org/problems/binary-tree-to-bst/1)
- [ ] [Convert a normal BST into a Balanced BST](https://www.geeksforgeeks.org/convert-normal-bst-balanced-bst/)
- [ ] [Merge two BST [ V.V.V>IMP ]](https://www.geeksforgeeks.org/merge-two-balanced-binary-search-trees/)
- [ ] [Find Kth largest element in a BST](https://practice.geeksforgeeks.org/problems/kth-largest-element-in-bst/1)
- [ ] [Find Kth smallest element in a BST](https://practice.geeksforgeeks.org/problems/find-k-th-smallest-element-in-bst/1)
- [ ] [Count pairs from 2 BST whose sum is equal to given value "X"](https://practice.geeksforgeeks.org/problems/brothers-from-different-root/1)
- [ ] [Find the median of BST in O(n) time and O(1) space](https://www.geeksforgeeks.org/find-median-bst-time-o1-space/)
- [ ] [Count BST ndoes that lie in a given range](https://practice.geeksforgeeks.org/problems/count-bst-nodes-that-lie-in-a-given-range/1)
- [ ] [Replace every element with the least greater element on its right](https://www.geeksforgeeks.org/replace-every-element-with-the-least-greater-element-on-its-right/)
- [ ] [Given "n" appointments, find the conflicting appointments](https://www.geeksforgeeks.org/given-n-appointments-find-conflicting-appointments/)
- [ ] [Check preorder is valid or not](https://practice.geeksforgeeks.org/problems/preorder-to-postorder/0)
- [ ] [Check whether BST contains Dead end](https://practice.geeksforgeeks.org/problems/check-whether-bst-contains-dead-end/1)
- [ ] [Largest BST in a Binary Tree [ V.V.V.V.V IMP ]](https://practice.geeksforgeeks.org/problems/largest-bst/1)
- [ ] [Flatten BST to sorted list](https://www.geeksforgeeks.org/flatten-bst-to-sorted-list-increasing-order/)
### Backtracking _(2/19)_
- [ ] [Rat in a maze Problem](https://practice.geeksforgeeks.org/problems/rat-in-a-maze-problem/1)
- [X] [Combinational Sum](https://practice.geeksforgeeks.org/problems/combination-sum/0)
- [ ] [Printing all solutions in N-Queen Problem](https://www.geeksforgeeks.org/printing-solutions-n-queen-problem/)
- [ ] [Word Break Problem using Backtracking](https://practice.geeksforgeeks.org/problems/word-break-part-2/0)
- [ ] [Remove Invalid Parentheses](https://leetcode.com/problems/remove-invalid-parentheses/)
- [ ] [Sudoku Solver](https://practice.geeksforgeeks.org/problems/solve-the-sudoku/0)
- [ ] [m Coloring Problem](https://practice.geeksforgeeks.org/problems/m-coloring-problem/0)
- [ ] [Print all palindromic partitions of a string](https://www.geeksforgeeks.org/given-a-string-print-all-possible-palindromic-partition/)
- [X] [Subset Sum Problem](https://practice.geeksforgeeks.org/problems/subset-sum-problem2014/1)
- [ ] [The Knight’s tour problem](https://www.geeksforgeeks.org/the-knights-tour-problem-backtracking-1/)
- [ ] [Tug of War](https://www.geeksforgeeks.org/tug-of-war/)
- [ ] [Find shortest safe route in a path with landmines](https://www.geeksforgeeks.org/find-shortest-safe-route-in-a-path-with-landmines/)
- [ ] [Find Maximum number possible by doing at-most K swaps](https://practice.geeksforgeeks.org/problems/largest-number-in-k-swaps/0)
- [ ] [Print all permutations of a string](https://practice.geeksforgeeks.org/problems/permutations-of-a-given-string/0)
- [ ] [Find if there is a path of more than k length from a source](https://www.geeksforgeeks.org/find-if-there-is-a-path-of-more-than-k-length-from-a-source/)
- [ ] [Longest Possible Route in a Matrix with Hurdles](https://www.geeksforgeeks.org/longest-possible-route-in-a-matrix-with-hurdles/)
- [ ] [Print all possible paths from top left to bottom right of a mXn matrix](https://www.geeksforgeeks.org/print-all-possible-paths-from-top-left-to-bottom-right-of-a-mxn-matrix/)
- [ ] [Partition of a set intoK subsets with equal sum](https://practice.geeksforgeeks.org/problems/partition-array-to-k-subsets/1)
- [ ] [Find the K-th Permutation Sequence of first N natural numbers](https://www.geeksforgeeks.org/find-the-k-th-permutation-sequence-of-first-n-natural-numbers/)
### Stacks & Queues _(6/37)_
- [ ] [Implement Stack from Scratch](https://www.tutorialspoint.com/javaexamples/data_stack.htm)
- [ ] [Implement Queue from Scratch](https://www.geeksforgeeks.org/queue-set-1introduction-and-array-implementation/)
- [ ] [Implement 2 stack in an array](https://practice.geeksforgeeks.org/problems/implement-two-stacks-in-an-array/1)
- [ ] [Find the middle element of a stack](https://www.geeksforgeeks.org/design-a-stack-with-find-middle-operation/)
- [X] [Check the expression has valid or Balanced parenthesis or not.](https://practice.geeksforgeeks.org/problems/parenthesis-checker/0)
- [ ] [Implement "N" stacks in an Array](https://www.geeksforgeeks.org/efficiently-implement-k-stacks-single-array/)
- [ ] [Reverse a String using Stack](https://practice.geeksforgeeks.org/problems/reverse-a-string-using-stack/1)
- [X] [Design a Stack that supports getMin() in O(1) time and O(1) extra space.](https://practice.geeksforgeeks.org/problems/special-stack/1)
- [ ] [Find the next Greater element](https://practice.geeksforgeeks.org/problems/next-larger-element/0)
- [ ] [The celebrity Problem](https://practice.geeksforgeeks.org/problems/the-celebrity-problem/1)
- [ ] [Arithmetic Expression evaluation](https://www.geeksforgeeks.org/arithmetic-expression-evalution/)
- [X] [Evaluation of Postfix expression](https://practice.geeksforgeeks.org/problems/evaluation-of-postfix-expression/0)
- [ ] [Implement a method to insert an element at its bottom without using any other data structure.](https://www.geeksforgeeks.org/program-to-insert-an-element-at-the-bottom-of-a-stack/)
- [ ] [Reverse a stack using recursion](https://www.geeksforgeeks.org/reverse-a-stack-using-recursion/)
- [ ] [Sort a Stack using recursion](https://practice.geeksforgeeks.org/problems/sort-a-stack/1)
- [ ] [Merge Overlapping Intervals](https://practice.geeksforgeeks.org/problems/8a644e94faaa94968d8665ba9e0a80d1ae3e0a2d/1)
- [ ] [Largest rectangular Area in Histogram](https://practice.geeksforgeeks.org/problems/maximum-rectangular-area-in-a-histogram/0)
- [ ] [Length of the Longest Valid Substring](https://practice.geeksforgeeks.org/problems/valid-substring0624/1)
- [ ] [Expression contains redundant bracket or not](https://www.geeksforgeeks.org/expression-contains-redundant-bracket-not/)
- [X] [Implement Stack using Queue](https://practice.geeksforgeeks.org/problems/stack-using-two-queues/1)
- [ ] [Implement Stack using Deque](https://www.geeksforgeeks.org/implement-stack-queue-using-deque/)
- [ ] [Stack Permutations (Check if an array is stack permutation of other)](https://www.geeksforgeeks.org/stack-permutations-check-if-an-array-is-stack-permutation-of-other/)
- [X] [Implement Queue using Stack](https://practice.geeksforgeeks.org/problems/queue-using-two-stacks/1)
- [ ] [Implement "n" queue in an array](https://www.geeksforgeeks.org/efficiently-implement-k-queues-single-array/)
- [ ] [Implement a Circular queue](https://www.geeksforgeeks.org/circular-queue-set-1-introduction-array-implementation/)
- [ ] [LRU Cache Implementation](https://practice.geeksforgeeks.org/problems/lru-cache/1)
- [ ] [Reverse a Queue using recursion](https://practice.geeksforgeeks.org/problems/queue-reversal/1)
- [ ] [Reverse the first “K” elements of a queue](https://practice.geeksforgeeks.org/problems/reverse-first-k-elements-of-queue/1)
- [ ] [Interleave the first half of the queue with second half](https://www.geeksforgeeks.org/interleave-first-half-queue-second-half/)
- [ ] [Find the first circular tour that visits all Petrol Pumps](https://practice.geeksforgeeks.org/problems/circular-tour/1)
- [X] [Minimum time required to rot all oranges](https://practice.geeksforgeeks.org/problems/rotten-oranges/0)
- [ ] [Distance of nearest cell having 1 in a binary matrix](https://practice.geeksforgeeks.org/problems/distance-of-nearest-cell-having-1/0)
- [ ] [First negative integer in every window of size "k"](https://practice.geeksforgeeks.org/problems/first-negative-integer-in-every-window-of-size-k/0)
- [ ] [Check if all levels of two trees are anagrams or not.](https://www.geeksforgeeks.org/check-if-all-levels-of-two-trees-are-anagrams-or-not/)
- [ ] [Sum of minimum and maximum elements of all subarrays of size “k”.](https://www.geeksforgeeks.org/sum-minimum-maximum-elements-subarrays-size-k/)
- [ ] [Minimum sum of squares of character counts in a given string after removing “k” characters.](https://practice.geeksforgeeks.org/problems/game-with-string/0)
- [ ] [Queue based approach or first non-repeating character in a stream.](https://practice.geeksforgeeks.org/problems/first-non-repeating-character-in-a-stream/0)
- [ ] [Next Smaller Element](https://www.geeksforgeeks.org/next-smaller-element/)
### Graph _(2/44)_
- [ ] [Create a Graph, print it](https://1drv.ms/t/s!AqTOHFO77CqEiRua06v1PATyiFg5)
- [ ] [Create a Graph (for practice)](https://practice.geeksforgeeks.org/problems/print-adjacency-list-1587115620/1)
- [ ] [Implement BFS algorithm](https://practice.geeksforgeeks.org/problems/bfs-traversal-of-graph/1)
- [ ] [Implement DFS Algo](https://practice.geeksforgeeks.org/problems/depth-first-traversal-for-a-graph/1)
- [ ] [Detect Cycle in Directed Graph using BFS/DFS Algo](https://practice.geeksforgeeks.org/problems/detect-cycle-in-a-directed-graph/1)
- [ ] [Detect Cycle in UnDirected Graph using BFS/DFS Algo](https://practice.geeksforgeeks.org/problems/detect-cycle-in-an-undirected-graph/1)
- [ ] [Search in a Maze](https://practice.geeksforgeeks.org/problems/rat-in-a-maze-problem/1)
- [ ] [Minimum Step by Knight](https://practice.geeksforgeeks.org/problems/steps-by-knight/0)
- [ ] [Flood fill algo](https://leetcode.com/problems/flood-fill/)
- [ ] [Clone a graph](https://leetcode.com/problems/clone-graph/)
- [ ] [Making wired Connections](https://leetcode.com/problems/number-of-operations-to-make-network-connected/)
- [ ] [Word Ladder](https://leetcode.com/problems/word-ladder/)
- [ ] [Dijkstra algo](https://practice.geeksforgeeks.org/problems/implementing-dijkstra-set-1-adjacency-matrix/1/)
- [X] [Implement Topological Sort](https://practice.geeksforgeeks.org/problems/topological-sort/1)
- [ ] [Minimum time taken by each job to be completed given by a Directed Acyclic Graph](https://www.geeksforgeeks.org/minimum-time-taken-by-each-job-to-be-completed-given-by-a-directed-acyclic-graph/)
- [ ] [Find whether it is possible to finish all tasks or not from given dependencies](https://www.geeksforgeeks.org/find-whether-it-is-possible-to-finish-all-tasks-or-not-from-given-dependencies/)
- [X] [Find the no. of Islands](https://practice.geeksforgeeks.org/problems/find-the-number-of-islands/1)
- [ ] [Given a sorted Dictionary of an Alien Language, find order of characters](https://practice.geeksforgeeks.org/problems/alien-dictionary/1)
- [ ] [Implement Kruskal’s Algorithm](https://www.geeksforgeeks.org/kruskals-minimum-spanning-tree-algorithm-greedy-algo-2/)
- [ ] [Implement Prim’s Algorithm](https://www.geeksforgeeks.org/prims-minimum-spanning-tree-mst-greedy-algo-5/)
- [ ] [Total no. of Spanning tree in a graph](https://www.geeksforgeeks.org/total-number-spanning-trees-graph/)
- [ ] [Implement Bellman Ford Algorithm](https://practice.geeksforgeeks.org/problems/negative-weight-cycle/0)
- [ ] [Implement Floyd Warshall Algorithm](https://practice.geeksforgeeks.org/problems/implementing-floyd-warshall/0)
- [ ] [Travelling Salesman Problem](https://www.geeksforgeeks.org/travelling-salesman-problem-set-1/)
- [ ] [Graph Colouring Problem](https://www.geeksforgeeks.org/graph-coloring-applications/)
- [ ] [Snake and Ladders Problem](https://leetcode.com/problems/snakes-and-ladders/)
- [ ] [Find bridge in a graph](https://www.geeksforgeeks.org/bridge-in-a-graph/)
- [ ] [Count Strongly connected Components(Kosaraju Algo)](https://practice.geeksforgeeks.org/problems/strongly-connected-components-kosarajus-algo/1)
- [ ] [Check whether a graph is Bipartite or Not](https://www.geeksforgeeks.org/bipartite-graph/)
- [ ] [Detect Negative cycle in a graph](https://www.geeksforgeeks.org/detect-negative-cycle-graph-bellman-ford/)
- [ ] [Longest path in a Directed Acyclic Graph](https://www.geeksforgeeks.org/find-longest-path-directed-acyclic-graph/)
- [ ] [Journey to the Moon](https://www.hackerrank.com/challenges/journey-to-the-moon/problem)
- [ ] [Cheapest Flights Within K Stops](https://leetcode.com/problems/cheapest-flights-within-k-stops/description/)
- [ ] [Oliver and the Game](https://www.hackerearth.com/practice/algorithms/graphs/topological-sort/practice-problems/algorithm/oliver-and-the-game-3/)
- [ ] [Water Jug problem using BFS](https://www.geeksforgeeks.org/water-jug-problem-using-bfs/)
- [ ] [Find if there is a path of more thank length from a source](https://www.geeksforgeeks.org/find-if-there-is-a-path-of-more-than-k-length-from-a-source/)
- [ ] [M-Colouring Problem](https://practice.geeksforgeeks.org/problems/m-coloring-problem/0)
- [ ] [Minimum edges to reverse to make path from source to destination](https://www.geeksforgeeks.org/minimum-edges-reverse-make-path-source-destination/)
- [ ] [Paths to travel each nodes using each edge(Seven Bridges)](https://www.geeksforgeeks.org/paths-travel-nodes-using-edgeseven-bridges-konigsberg/)
- [ ] [Vertex Cover Problem](https://www.geeksforgeeks.org/vertex-cover-problem-set-1-introduction-approximate-algorithm-2/)
- [ ] [Chinese Postman or Route Inspection](https://www.geeksforgeeks.org/chinese-postman-route-inspection-set-1-introduction/)
- [ ] [Number of Triangles in a Directed and Undirected Graph](https://www.geeksforgeeks.org/number-of-triangles-in-directed-and-undirected-graphs/)
- [ ] [Minimise the cashflow among a given set of friends who have borrowed money from each other](https://www.geeksforgeeks.org/minimize-cash-flow-among-given-set-friends-borrowed-money/)
- [ ] [Two Clique Problem](https://www.geeksforgeeks.org/two-clique-problem-check-graph-can-divided-two-cliques/)
### Trie _(1/6)_
- [X] [Construct a trie from scratch](https://www.geeksforgeeks.org/trie-insert-and-search/)
- [ ] [Find shortest unique prefix for every word in a given list](https://www.geeksforgeeks.org/find-all-shortest-unique-prefixes-to-represent-each-word-in-a-given-list/)
- [ ] [Word Break Problem | (Trie solution)](https://www.geeksforgeeks.org/word-break-problem-trie-solution/)
- [ ] [Given a sequence of words, print all anagrams together](https://practice.geeksforgeeks.org/problems/k-anagrams-1/0)
- [ ] [Implement a Phone Directory](https://practice.geeksforgeeks.org/problems/phone-directory/0)
- [ ] [Print unique rows in a given boolean matrix](https://practice.geeksforgeeks.org/problems/unique-rows-in-boolean-matrix/1)
### Dynamic Programming _(4/60)_
- [X] [Coin Change Problem](https://practice.geeksforgeeks.org/problems/coin-change2448/1)
- [ ] [0/1 Knapsack Problem](https://practice.geeksforgeeks.org/problems/0-1-knapsack-problem/0)
- [ ] [Binomial Coefficient Problem](https://practice.geeksforgeeks.org/problems/ncr1019/1)
- [ ] [Permutation Coefficient Problem](https://www.geeksforgeeks.org/permutation-coefficient/)
- [ ] [Program for nth Catalan Number](https://practice.geeksforgeeks.org/problems/geek-and-his-binary-strings1951/1/)
- [ ] [Matrix Chain Multiplication](https://practice.geeksforgeeks.org/problems/matrix-chain-multiplication0303/1/)
- [ ] [Edit Distance](https://practice.geeksforgeeks.org/problems/edit-distance3702/1)
- [X] [Subset Sum Problem](https://practice.geeksforgeeks.org/problems/subset-sum-problem2014/1)
- [ ] [Friends Pairing Problem](https://practice.geeksforgeeks.org/problems/friends-pairing-problem5425/1)
- [ ] [Gold Mine Problem](https://practice.geeksforgeeks.org/problems/gold-mine-problem2608/1)
- [ ] [Assembly Line Scheduling Problem](https://www.geeksforgeeks.org/assembly-line-scheduling-dp-34/)
- [ ] [Painting the Fence Problem](https://practice.geeksforgeeks.org/problems/painting-the-fence3727/1)
- [ ] [Maximize The Cut Segments](https://practice.geeksforgeeks.org/problems/cutted-segments/0)
- [ ] [Longest Common Subsequence (LCS)](https://practice.geeksforgeeks.org/problems/longest-common-subsequence/0)
- [ ] [Longest Repeated Subsequence](https://practice.geeksforgeeks.org/problems/longest-repeating-subsequence/0)
- [ ] [Longest Increasing Subsequence (LIS)](https://practice.geeksforgeeks.org/problems/longest-increasing-subsequence/0)
- [ ] [Space Optimized Solution of LCS](https://www.geeksforgeeks.org/space-optimized-solution-lcs/)
- [ ] [LCS (Longest Common Subsequence) of three strings](https://practice.geeksforgeeks.org/problems/lcs-of-three-strings/0)
- [ ] [Maximum Sum Increasing Subsequence](https://practice.geeksforgeeks.org/problems/maximum-sum-increasing-subsequence4749/1)
- [ ] [Count all subsequences having product less than K](https://www.geeksforgeeks.org/count-subsequences-product-less-k/)
- [ ] [Longest subsequence such that difference between adjacent is one](https://practice.geeksforgeeks.org/problems/longest-subsequence-such-that-difference-between-adjacents-is-one4724/1)
- [ ] [Maximum subsequence sum such that no three are consecutive](https://practice.geeksforgeeks.org/problems/max-sum-without-adjacents-2/1)
- [ ] [Egg Dropping Problem](https://practice.geeksforgeeks.org/problems/egg-dropping-puzzle/0)
- [X] [Word Break Problem](https://practice.geeksforgeeks.org/problems/word-break/0)
- [X] [Longest Palindromic Substring](https://leetcode.com/problems/longest-palindromic-substring/)