Some of my solutions and attempts for leetcode problems
# | Title | Solution | Difficulty | Topics |
---|---|---|---|---|
1 | Two Sum | Java, Python | Easy | Array Hash Table |
2 | Add Two Numbers | Java, Python | Medium | Linked List Math Recursion |
12 | Integer to Roman | Java, Python | Medium | Hash Table Math String |
21 | Merge Two Sorted Lists | Java, Python | Easy | Linked List |
24 | Swap Nodes in Pairs | Java, Python | Medium | Linked List |
26 | Remove Duplicates from Sorted Array | C, Java, Javascript, Python | Easy | Array Two Pointers |
27 | Remove Element | C, Java, Javascript, Python | Easy | Array Two Pointers |
35 | Search Insert Position | Java, Javascript, Python | Easy | Array Binary Search |
36 | Valid Sudoku | Java | Medium | Array Hash Table Matrix |
49 | Group Anagrams | Java | Medium | Array Hash Table String Sorting |
66 | Plus One | Java, Javascript, Python | Easy | Array Math |
74 | Search a 2D Matrix | Java | Medium | Array Binary Search Matrix |
83 | Remove Duplicates from Sorted List | Java, Python | Easy | Linked List |
89 | Partition List | Java | Medium | Linked List Two Pointers |
94 | Binary Tree Inorder Traversal | Java | Easy | Stack Tree DFS BFS |
98 | Validate Binary Search Tree | Java | Medium | Tree DFS BFS Binary Tree |
100 | Same Tree | Java | Easy | Tree DFS BFS Binary Tree |
104 | Maximum Depth of Binary Tree | Java | Easy | Tree DFS BFS |
108 | Convert Sorted Array to Binary Search Tree.java | Java | Easy | Array Tree Divide and Conquer Binary Tree Binary Search Tree |
125 | Valid Palindrome | Java | Medium | Two Pointers String |
128 | Longest Consecutive Sequence | Java | Medium | Array Hash Table Union Find |
136 | Single Number | Java, Python | Easy | Array Bit Manipulation |
141 | Linked List Cycle | Java, Python | Easy | Linked List Hash Table Two Pointer |
144 | Binary Tree Preorder Traversal | Java, Python | Easy | Stack Tree Depth-First Search Binary Tree |
145 | Binary Tree Postorder Traversal | Java, Python | Easy | Stack Tree Depth-First Search Binary Tree |
160 | Intersection of Two Linked List | Java, Python | Easy | Linked List Hash Table Two Pointer |
167 | Two Sum II | Java | Medium | Array Two Pointers Binary Search |
181 | Employees Earning More Than Their Managers | SQL | Easy | Database |
182 | Duplicate Emails | SQL | Easy | Database |
183 | Customers Who Never Order | SQL | Easy | Database |
184 | Department Highest Salary | SQL | Easy | Database |
196 | Delete Duplicate Emails | SQL | Easy | Database |
197 | Rising Temperature | SQL | Easy | Database |
203 | Remove Linked List Elements | Java, Python | Easy | Linked List |
206 | Reverse Linked List | Java, Python | Easy | Linked List Recursion |
217 | Contains Duplicate | Java, Python | Easy | Array Hash Table Sorting |
225 | Implement using Queues | C, Java, Javascript, Python | Easy | Stack Queue Design |
226 | Invert Binary Tree | Java, Python | Easy | Tree DFS BFS Binary Tree |
232 | Implement Queue using Stacks | Java, Python | Easy | Stack Queue Design |
234 | Palindrome Linked List | Java, Python | Easy | Linked List |
235 | Lowest Common Ancestor | Java, Python | Easy | Tree DFS BFS Binary Tree |
237 | Delete Node in a Linked List | Java | Easy | Linked List |
238 | Product of Array Except Self | Java | Medium | Array Prefix Sum |
242 | Valid Anagram | Java | Easy | Hash Table String Sorting |
257 | Binary Tree Path | Java | Easy | String Backtracking Tree Depth-First Search Binary Tree |
328 | Odd Even Linked List | Java | Medium | Linked List |
347 | Top K Frequent Elements | Java | Medium | Array Hash Table Sorting Heap(Priority Queue) |
377 | Combination Sum IV | Java | Medium | Array Dynammic Programming |
382 | Linked List Random Node | Java | Medium | Linked List Math Reservoir Sampling Randomized |
387 | First Unique Character in a String | Java | Easy | Hash Table String Queue Counting |
404 | Sum of Left Leaves | Java | Easy | Tree DFS BFS Binary Tree` |
430 | Flatten a Multilevel Doubly Linked List | Java | Medium | Linked List Doubly-Linked List |
445 | Add Two Numbers II | Java | Medium | Linked List Stack Math |
511 | Game Play Analysis I | SQL | Easy | Database |
530 | Minimum Absolute Difference in BST | Java | Easy | Tree DFS BFS Binary Search Tree Binary Tree |
543 | Diameter of Binary Tree | Java | Easy | Tree DFS Binary Tree |
559 | N-ary Tree | Java | Easy | Tree DFS BFS |
563 | Binary Tree Tile | Java | Easy | Tree DFS Binary Tree |
584 | Find Customer Referee | SQL | Easy | Database |
586 | Customer Placing the Largest Number of Orders | SQL | Easy | Database |
589 | N-ary Tree Preorder Traversal | Java | Easy | Stack Tree DFS |
590 | N-ary Tree Postorder Traversal | Java | Easy | Stack Tree DFS |
595 | Big Countries | SQL | Easy | Database |
596 | Classes More Than 5 Students | SQL | Easy | Database |
606 | Construct String from Binary Tree | Java | Easy | String Tree DFS Binary Tree |
607 | Sales Person | SQL | Easy | Database |
617 | Merge Two Binary Trees | Java | Easy | Tree DFS BFS Binary Tree |
620 | Not Boring Movies | SQL | Easy | Database |
622 | Design Circular Queue | Java | Medium | Array Linked List Design Queue |
627 | Swap Salary | SQL | Easy | Database |
637 | Average of Levels in Binary Tree | Java | Easy | Tree DFS BFS Binary Tree |
641 | Design Circular Deque | Java | Medium | Array Linked List Design Queue |
653 | Two Sum IV | Java | Easy | Hash Table Two Pointer DFS BFS Tree Binary Binary Search Tree |
700 | Search in a Binary Search Tree | Java | Easy | Tree Binary Search Tree Binary Tree |
704 | Binary Search | Java | Easy | Array Binary Search |
705 | Design HashSet | Java | Easy | Array Hash Table Linked List Hash Function Design |
706 | Design HashMap | Java | Easy | Array Hash Table Linked List Design Hash Function |
725 | Split Linked List in Parts | Java | Medium | Linked List |
783 | Minimum Distance Between BST Nodes | Java | Easy | Tree BFS DFS Binary Search Tree Binary Tree |
809 | Find and Replace Pattern | Java | Medium | Array Hash Table String |
817 | Linked List Components | Java | Medium | Hash Table Linked List |
872 | Leaf-SimilarTrees | Java | Easy | Tree Binary Tree Depth-First Search |
876 | Middle of the Linked List | Java | Easy | Linked List Two Pointers |
897 | Increasing Order Search Tree | Java | Easy | Stack Tree Depth-First Search Breadth-First Search Binary Tree |
916 | Word Subsets | Java | Medium | Array Hash Table String |
921 | Minimum Add to Make Parentheses Valid | Java | Medium | String Stack Greedy |
933 | Number of Recent Calls | Java | Easy | Design Queue Data Stream |
938 | Range Sum of BST | Java | Easy | Tree Depth-First Search Breadth-First Search Binary Tree |
950 | Reveal Cards In Increasing Order | Java | Medium | Array Queue Sorting Simulation |
965 | Univalued Binary Tree | Java | Easy | Tree Depth-First Search Breadth-First Search Binary Tree |
1021 | Remove Outermost Prentheses | Java | Easy | String Stack |
1022 | Sum of Root to Leaf Binary Number | Java | Easy | Tree Depth-First Search Binary Tree |
1047 | Remove All Adjacent Duplicates In String | Java | Easy | String Stack |
1050 | Actors and Directors Who Cooperated At Least Three Times | SQL | Easy | Database |
1290 | Convert Binary Number in a Linked List to Integer | Java | Easy | Linked List Math |
1313 | Decompress Run-Length Encoded List | Java | Easy | Array |
1365 | How Many Numbers Are Smaller Than the Current Number | Java | Easy | Array Hash Table Sorting Counting |
1379 | Find a Corresponding Node of a Binary Tree in a Clone of That Tree | Java | Easy | Tree Depth-First Search Breadth-First Search Binary Tree |
1381 | Design a Stack With Increment Operation | Java | Medium | Array Stack Design |
1393 | Capital Gain/Loss | SQL | Medium | Database |
1431 | Kids With the Greatest Number of Candies | Java | Easy | Array |
1441 | Build an Array With Stack | Java | Easy | Array Stack Simulation |
1470 | Shuffle the Array | Java | Easy | Array |
1472 | Design Browser History | Java | Medium | Array Linked List Stack Design Doubly-Linked List Data Stream |
1475 | Final Prices With a Special Discount in a Shop | Java | Easy | Array Stack Monotonic Stack |
1480 | Running Sum of 1d Array | Java | Easy | Array Prefix Sum |
1512 | Number of Good Pairs | Java | Easy | Array Hash Table Math Counting |
1614 | Masimum Nesting Depth of the Parentheses | Java | Medium | String Stack |
1627 | Richest Customer Wealth | Java | Easy | Array Matrix |
1669 | Merge In Between Linked Lists | Java | Medium | Linked List |
1693 | Daily Leads and Partners | SQL | Easy | Database |
1700 | Number of Students Unable to Eat Lunch | Java | Easy | Array Stack Queue Simulation |
1721 | Swapping Nodes in a Linked List | Java | Medium | Linked List Two Pointers |
1741 | Find Total Time Spent by Each Employee | SQL | Easy | Database |
1920 | Build Array from Permutation | Java | Easy | Array Simulation |
1929 | Concatenation of Array | Java | Easy | Array |
2058 | Find the Minimum and Maximum Number of Nodes Between Critical Points | Java | Medium | Linked List |
2073 | Time Needed to Buy Tickets | Java | Easy | Array Queue Simulation |
2095 | Delete the Middle Node of a Linked List | Java | Medium | Linked List Two Pointers |
2130 | Maximum Twin Sum of a Linked List | Java | Medium | Linked List Two Pointers Stack |
2181 | Merge Nodes in Between Zeros | Java | Medium | Linked List Simulation |
2215 | Find the Difference of Two Arrays | Java | Easy | Array Hash Table |
2236 | Root Equals Sum of Children | Java | Easy | Tree Binary Tree |
2326 | Spiral Matrix IV | Java | Medium | Array Linked List Matrix Simulation |
2331 | Evaluate Boolean Binary Tree | Java | Easy | Binary Search Tree Depth-First Search |
2335 | Minimum Amount of Time To Fill Cups | Java | Easy | Weekly Contest 301 |
2336 | Smallest Number in Infinite Set | Java | Easy | Weekly Contest 301 |
2337 | Move Pieces to Obtain a String | Java | Medium | Weekly Contest 301 |
2341 | Maximum Number of Pairs in Array | Java | Easy | Weekly Contest 302 |
2342 | Max Sum of a Pair With Equal Sum of Digits | Java | Medium | Weekly Contest 302 |
2343 | Query Kth Smallest Trimmed Number | Java | Medium | Weekly Contest 302 |
2351 | First Letter to Appear Twice | Java | Easy | Weekly Contest 303 |
2352 | Equal Row and Column Pairs | Java | Medium | Weekly Contest 303 |
2357 | Make Array Zero by Subtracting Equal Amounts | Java | Easy | Weekly Contest 304 |
2367 | Number of Arithmetic Triplets | Java | Easy | Weekly Contest 305 |