Visualize the Data Structures and Algorithms https://visualgo.net/en/list
Data Structures
- Array
- HashTable
- Linked List
- Singly Linked List
- Doubly Linked List
- Stack
- Using Linked List
- Using Array
- Queue
- Using Linked List
- Using Stack
- Binary Search Tree (BST)
- Min Heap
Algorithms
- TwoPairsSum in a array
- Reverse a string
- First Recurring Character
- Reverse a Singly Linked List (refer singly linked list above on DS file)
- Merge Sorted Array
- Merge Two Sorted Linked List
- Check if a singly linked list is a palindrome
- Reverse a string in place (input given in a array of characters)
- Stack Min (Stack DS with getting minimum value of the stack in constant time O(1))
- Permutations with Duplicates
- Search in a Binary Search Tree
- Valid Anagram
- Get Decimal value from Binary Linked List
- No. of ways to climb stairs with 2 steps
- Find the fibonacci sequence
- Best time to buy and sell stock
- Group Anagrams
- Reverse digits of a 32-bit integer
- Remove Linked List Elements
- Remove Elements from an Array in place
- Move Zeroes to the end of the array
- Check if Linked List has a cycle
- Detect start of the cycle in Linked List
- Find Binary Search Tree (BST) Successor Search
- Defanging an IP Address
- Reverse vowels of the string
- Check if a BST is height balanced
- Determine if binary search tree (BST) is valid
- Decode Ways
- Search in Rotated Sorted Array
- 3Sum
- Maximum contiguous subarray sum
- Monotonic Array
- Keyboard Row
- InOrder Binary Tree Traversal (recursive approach)
- InOrder Binary Tree Traversal (iterative approach)
- PreOrder Binary Tree Traversal (recursive)
- PreOrder Binary Tree Traversal (iterative)
- PostOrder Binary Tree Traversal (recursive)
- Post Order Binary Tree Traversal (iterative approach using one stack) -- Read more here https://leetcode.com/problems/binary-tree-postorder-traversal/discuss/45648/three-ways-of-iterative-postorder-traversing-easy-explanation
- Missing Number in a array of positive intergers
- 136 - Single Number
- 136 Single Number (linear time and constant space) using XoR approach
- 104 Maximum Depth of Binary Tree
- 111 Minimum Depth of Binary Tree (recursive approach)
- 111 Minimum Depth of Binary Tree (level order traversal BFS approach)
- 2 Add Two Numbers
- 3 Longest Substring Without Repeating Characters
- 771 Jewels and Stones
- 230 Kth Smallest Element in a BST
- 709 To Lower case
- 938 Range Sum of BST
- 1480 Running Sum of 1d Array
- 627 Swap salary
- 1431 Kids With the Greatest Number of Candies
- 804 Unique Morse Code Words
- 1704 Determine if String Halves Are Alike
- 876 Middle of the Linked List
- 1281 Subtract the Product and Sum of Digits of an Integer
- 1470 Shuffle the Array
- 461 Hamming Distance
- 1342 Number of Steps to Reduce a Number to Zero
- 1313 Decompress Run-Length Encoded List
- 1221 Split a String in Balanced Strings
- 1365 How Many Numbers Are Smaller Than the Current Number
- 596 Classes More Than 5 Students
- 728 Self Dividing Numbers
- 1512 Number of Good Pairs
- 832 Flipping an Image
- 1179 Reformat Department Table
- 1672 Richest Customer Wealth
- 680 Valid Palindrome II
- 31 Next Permutation
- 20 - Valid Parantheses
- 15 - 3Sum
- 938 - range sum BST
- 199 - Binary Tree Right Side View
- 22 - Generate parantheses
- 173 - Binary Search Tree Iterator
- 543 - Diameter of Binary Tree
- 297 - Serialize and Seserialize BST
- 124 - binary tree maximum path sum
- 953 - verifying an Alien Dictionary
- 785 - is Graph Bipartite?
- 523 - Continuous Subarray Sum
- 560 - subarray sum equals K
- 121 - Best Time to Buy and Sell Stock
- 10 - Regular expression matching
- 215 - Kth Largest Element in an array
- 494 - Target Sum
- 510 - Inorder successor in BST II
- 583 - Delete Operation for Two Strings
- 1428 - LeftMost Column with at Least a One
- 973 - K Closest points to Origin
- 415 - Add Strings
- 349 - Intersection of Two Arrays
- 253 - Meeting Rooms II
- 138 - copy list with random pointer
- 143 - Reorder List
- 232 - Implement Queue using Two Stacks
- 112 - Path Sum
- 1197 - Minimum Knight Moves
- 142 - Linked List Cycle II
- 322 - Coin Change
- 56 - Merge Intervals
- 426 - Convert Binary Search Tree to Sorted Linked List
- 1143 - Longest Common Subsequence
- Time Planner (pramp)o
- 252 - Meeting Rooms
- 986 - Interval List Intersections
- 1249 - Minimum Remove to Make Valid Parantheses
- 1570 - Dot Product of Two Sparse Vectors
- 67 - Add Binary strings
- 208 - Implement Trie (Prefix Tree)
- 127 - Word Ladder
- 273 - Integer to English Words
- 301 - Remove Invalid Parentheses
- 18 - 4Sum
- pramp - Smallest Substring of all Characters
- 350 - Intersection of Two Array II
- 721 - Accounts Merge
- 270 Closest Binary Search Tree Value
- 269 Alien Dictionary
- 236 Lowest Common Ancestor of a Binary Tree
- 235 Lowest Common Ancestor of a Binary Search Tree
- 65 Valid Number
- 528 Random Pick with Weight
- 987 Vertical Order Traversal of a Binary Tree
- 636 Exclusive Time of Functions
- pramp Drone Flight Planner
- 29 Divide Two Integers
- 621 Task Scheduler
- 1333 Filter Restaurants by Vegan-Friendly, Price and Distance
- 1436 Destination City
- 355 Design Twitter
- 347 Top K Frequent Elements
- 692 Top K Frequent words
- 599 Minimum Index Sum of Two Lists
- 332 Reconstruct Itinerary
- 784 Letter Case Permutation
- 1455 Check if a word occurs as a prefix of any word in a sentense