# LeetCode Solutions This repository contains my solutions to various LeetCode problems in C++, Java, and Go. The solutions are organized by difficulty level (Easy, Medium, Hard). ## Table of Contents - [Easy Problems](#easy-problems) - [Medium Problems](#medium-problems) - [Hard Problems](#hard-problems) - [License](#license) ## Easy Problems | Problem | Solutions | LeetCode Link | | ------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | | Add Binary | [C++](./Easy/add-binary/solution.cpp) | [Problem](https://leetcode.com/problems/add-binary) | | Best Time to Buy and Sell Stock | [C++](./Easy/best-time-to-buy-and-sell-stock/solution.cpp) | [Problem](https://leetcode.com/problems/best-time-to-buy-and-sell-stock) | | Binary Tree Inorder Traversal | [C++](./Easy/binary-tree-inorder-traversal/solution.cpp) | [Problem](https://leetcode.com/problems/binary-tree-inorder-traversal) | | Binary Tree Postorder Traversal | [C++](./Easy/binary-tree-postorder-traversal/solution.cpp) | [Problem](https://leetcode.com/problems/binary-tree-postorder-traversal) | | Binary Tree Preorder Traversal | [C++](./Easy/binary-tree-preorder-traversal/solution.cpp) | [Problem](https://leetcode.com/problems/binary-tree-preorder-traversal) | | Climbing Stairs | [C++](./Easy/climbing-stairs/solution.cpp) | [Problem](https://leetcode.com/problems/climbing-stairs) | | Contains Duplicate | [C++](./Easy/contains-duplicate/solution.cpp) | [Problem](https://leetcode.com/problems/contains-duplicate) | | Contains Duplicate II | [C++](./Easy/contains-duplicate-ii/solution.cpp) | [Problem](https://leetcode.com/problems/contains-duplicate-ii) | | Excel Sheet Column Number | [Java](./Easy/excel-sheet-column-number/Solution.java) | [Problem](https://leetcode.com/problems/excel-sheet-column-number) | | Excel Sheet Column Title | [Java](./Easy/excel-sheet-column-title/Solution.java) | [Problem](https://leetcode.com/problems/excel-sheet-column-title) | | First Unique Character in a String | [C++](./Easy/first-unique-character-in-a-string/solution.cpp) | [Problem](https://leetcode.com/problems/first-unique-character-in-a-string) | | Implement Queue using Stacks | [C++](./Easy/implement-queue-using-stacks/solution.cpp) | [Problem](https://leetcode.com/problems/implement-queue-using-stacks) | | Implement strStr() | [C++](./Easy/implement-strstr/solution.cpp) | [Problem](https://leetcode.com/problems/implement-strstr) | | Intersection of Two Arrays II | [C++](./Easy/intersection-of-two-arrays-ii/solution.cpp) | [Problem](https://leetcode.com/problems/intersection-of-two-arrays-ii) | | Invert Binary Tree | [C++](./Easy/invert-binary-tree/solution.cpp) | [Problem](https://leetcode.com/problems/invert-binary-tree) | | Linked List Cycle | [C++](./Easy/linked-list-cycle/solution.cpp) | [Problem](https://leetcode.com/problems/linked-list-cycle) | | Longest Common Prefix | [Java](./Easy/longest-common-prefix/Solution.java) | [Problem](https://leetcode.com/problems/longest-common-prefix) | | Maximum Depth of Binary Tree | [C++](./Easy/maximum-depth-of-binary-tree/solution.cpp) | [Problem](https://leetcode.com/problems/maximum-depth-of-binary-tree) | | Maximum Number of Words You Can Type | [Java](./Easy/maximum-number-of-words-you-can-type/Solution.java) | [Problem](https://leetcode.com/problems/maximum-number-of-words-you-can-type) | | Maximum Subarray | [C++](./Easy/maximum-subarray/solution.cpp) | [Problem](https://leetcode.com/problems/maximum-subarray) | | Merge Sorted Array | [C++](./Easy/merge-sorted-array/solution.cpp) | [Problem](https://leetcode.com/problems/merge-sorted-array) | | Merge Two Sorted Lists | [C++](./Easy/merge-two-sorted-lists/solution.cpp) | [Problem](https://leetcode.com/problems/merge-two-sorted-lists) | | Minimum Depth of Binary Tree | [C++](./Easy/minimum-depth-of-binary-tree/solution.cpp) | [Problem](https://leetcode.com/problems/minimum-depth-of-binary-tree) | | Palindrome Number | [C](./Easy/palindrome-number/solution.c), [C++](./Easy/palindrome-number/solution.cpp) | [Problem](https://leetcode.com/problems/palindrome-number) | | Pascal's Triangle | [C++](./Easy/pascals-triangle/solution.cpp) | [Problem](https://leetcode.com/problems/pascals-triangle) | | Path Sum | [C++](./Easy/path-sum/solution.cpp) | [Problem](https://leetcode.com/problems/path-sum) | | Plus One | [C++](./Easy/plus-one/solution.cpp) | [Problem](https://leetcode.com/problems/plus-one) | | Ransom Note | [C++](./Easy/ransom-note/solution.cpp) | [Problem](https://leetcode.com/problems/ransom-note) | | Remove Duplicates from Sorted Array | [C++](./Easy/remove-duplicates-from-sorted-array/solution.cpp), [Java](./Easy/remove-duplicates-from-sorted-array/Solution.java) | [Problem](https://leetcode.com/problems/remove-duplicates-from-sorted-array) | | Remove Duplicates from Sorted List | [C++](./Easy/remove-duplicates-from-sorted-list/solution.cpp) | [Problem](https://leetcode.com/problems/remove-duplicates-from-sorted-list) | | Remove Linked List Elements | [C++](./Easy/remove-linked-list-elements/solution.cpp) | [Problem](https://leetcode.com/problems/remove-linked-list-elements) | | Repeated Substring Pattern | [C++](./Easy/repeated-substring-pattern/solution.cpp) | [Problem](https://leetcode.com/problems/repeated-substring-pattern) | | Reshape the Matrix | [C++](./Easy/reshape-the-matrix/solution.cpp) | [Problem](https://leetcode.com/problems/reshape-the-matrix) | | Reverse Bits | [C++](./Easy/reverse-bits/solution.cpp) | [Problem](https://leetcode.com/problems/reverse-bits) | | Reverse Linked List | [C++](./Easy/reverse-linked-list/solution.cpp) | [Problem](https://leetcode.com/problems/reverse-linked-list) | | Roman to Integer | [Java](./Easy/roman-to-integer/Solution.java) | [Problem](https://leetcode.com/problems/roman-to-integer) | | Same Tree | [C++](./Easy/same-tree/solution.cpp) | [Problem](https://leetcode.com/problems/same-tree) | | Search in a Binary Search Tree | [C++](./Easy/search-in-a-binary-search-tree/solution.cpp) | [Problem](https://leetcode.com/problems/search-in-a-binary-search-tree) | | Search Insert Position | [C++](./Easy/search-insert-position/solution.cpp) | [Problem](https://leetcode.com/problems/search-insert-position) | | Shuffle String | [C++](./Easy/shuffle-string/solution.cpp) | [Problem](https://leetcode.com/problems/shuffle-string) | | Sqrt(x) | [C++](./Easy/sqrtx/solution.cpp) | [Problem](https://leetcode.com/problems/sqrtx) | | Symmetric Tree | [C++](./Easy/symmetric-tree/solution.cpp) | [Problem](https://leetcode.com/problems/symmetric-tree) | | Transpose Matrix | [C++](./Easy/transpose-matrix/solution.cpp) | [Problem](https://leetcode.com/problems/transpose-matrix) | | Two Sum | [C++](./Easy/two-sum/solution.cpp), [Java](./Easy/two-sum/Solution.java) | [Problem](https://leetcode.com/problems/two-sum) | | Valid Anagram | [C++](./Easy/valid-anagram/solution.cpp) | [Problem](https://leetcode.com/problems/valid-anagram) | | Valid Palindrome | [Java](./Easy/valid-palindrome/solution.java) | [Problem](https://leetcode.com/problems/valid-palindrome) | | Valid Parentheses | [C++](./Easy/valid-parentheses/solution.cpp) | [Problem](https://leetcode.com/problems/valid-parentheses) | ## Medium Problems | Problem | Solutions | LeetCode Link | | ------------------------------------- | ------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ | | Add Two Numbers | [Java](./Medium/add-two-numbers/Solution.java) | [Problem](https://leetcode.com/problems/add-two-numbers) | | Binary Tree Level Order Traversal | [C++](./Medium/binary-tree-level-order-traversal/solution.cpp) | [Problem](https://leetcode.com/problems/binary-tree-level-order-traversal) | | Container With Most Water | [C++](./Medium/container-with-most-water/solution.cpp) | [Problem](https://leetcode.com/problems/container-with-most-water) | | Equal Row and Column Pairs | [C++](./Medium/equal-row-and-column-pairs/solution.cpp) | [Problem](https://leetcode.com/problems/equal-row-and-column-pairs) | | Insert into a Binary Search Tree | [C++](./Medium/insert-into-a-binary-search-tree/solution.cpp) | [Problem](https://leetcode.com/problems/insert-into-a-binary-search-tree) | | Letter Combinations of a Phone Number | [C++](./Medium/letter-combinations-of-a-phone-number/solution.cpp) | [Problem](https://leetcode.com/problems/letter-combinations-of-a-phone-number) | | Longest Palindromic Substring | [C++](./Medium/longest-palindromic-substring/solution.cpp), [Java](./Medium/longest-palindromic-substring/Solution.java) | [Problem](https://leetcode.com/problems/longest-palindromic-substring) | | Remove Nth Node From End of List | [Go](./Medium/remove-nth-node-from-end-of-list/solution.go) | [Problem](https://leetcode.com/problems/remove-nth-node-from-end-of-list) | | Reverse Integer | [Java](./Medium/reverse-integer/Solution.java) | [Problem](https://leetcode.com/problems/reverse-integer) | | Search a 2D Matrix | [C++](./Medium/search-a-2d-matrix/solution.cpp) | [Problem](https://leetcode.com/problems/search-a-2d-matrix) | | Single Element in a Sorted Array | [Java](./Medium/single-element-in-a-sorted-array/Solution.java) | [Problem](https://leetcode.com/problems/single-element-in-a-sorted-array) | | Sort List | [C](./Medium/sort-list/solution.c) | [Problem](https://leetcode.com/problems/sort-list) | | String to Integer (atoi) | [C++](./Medium/string-to-integer-atoi/solution.cpp) | [Problem](https://leetcode.com/problems/string-to-integer-atoi) | | Two Sum II - Input Array Is Sorted | [C++](./Medium/two-sum-ii-input-array-is-sorted/solution.cpp) | [Problem](https://leetcode.com/problems/two-sum-ii-input-array-is-sorted) | | Valid Sudoku | [C++](./Medium/valid-sudoku/solution.cpp) | [Problem](https://leetcode.com/problems/valid-sudoku) | | Validate Binary Search Tree | [C++](./Medium/validate-binary-search-tree/solution.cpp) | [Problem](https://leetcode.com/problems/validate-binary-search-tree) | | Zigzag Conversion | [Java](./Medium/zigzag-conversion/Solution.java) | [Problem](https://leetcode.com/problems/zigzag-conversion) | ## Hard Problems | Problem | Solutions | LeetCode Link | | ------------------------- | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------ | | Longest Cycle in a Graph | [Java](./Hard/longest-cycle-in-a-graph/Solution.java) | [Problem](https://leetcode.com/problems/longest-cycle-in-a-graph) | | Longest Valid Parentheses | [C++](./Hard/longest-valid-parentheses/solution.cpp), [Java](./Hard/longest-valid-parentheses/Solution.java) | [Problem](https://leetcode.com/problems/longest-valid-parentheses) | | Sudoku Solver | [C++](./Hard/sudoku-solver/solution.cpp), [Java](./Hard/sudoku-solver/Solution.java) | [Problem](https://leetcode.com/problems/sudoku-solver) | ## License This project is licensed under the terms of the [MIT license](./LICENSE).