Skip to content

Latest commit

 

History

History
 
 

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 

README.md

LeetCode

Solutions to some of the questions on the LeetCode website.

The questions are divided into 3 levels of difficulty:

  • Easy
  • Medium
  • Hard

Solutions

Problem Solution Problem Statement Difficulty
LC0001.cpp Two Sum Easy
LC0002.cpp Add Two Numbers Medium
LC0003.cpp Longest Substring Without Repeating Characters Medium
LC0007.cpp Reverse Integer Easy
LC0009.cpp Palindrome Number Easy
LC0011.cpp Container With Most Water Medium
LC0014.cpp Longest Common Prefix Easy
LC0015.cpp 3Sum Medium
LC0020.cpp Valid Parentheses Easy
LC0021.cpp Merge Two Sorted Lists Easy
LC0031.cpp Next Permutation Medium
LC0033.cpp Search in Rotated Sorted Array Medium
LC0035.cpp Search Insert Position Easy
LC0046.cpp Permutations Medium
LC0047.cpp Permutations II Medium
LC0049.cpp Group Anagrams Medium
LC0050.cpp Pow(x, n) Medium
LC0053.cpp Maximum Subarray Easy
LC0055.cpp Jump Game Medium
LC0057.cpp Insert Interval Medium
LC0058.cpp Length of Last Word Easy
LC0060.cpp Permutation Sequence Medium
LC0062.cpp Unique Paths Medium
LC0063.cpp Unique Paths II Medium
LC0064.cpp Minimum Path Sum Medium
LC0065.cpp Valid Number Hard
LC0066.cpp Plus One Easy
LC0067.cpp Add Binary Easy
LC0069.cpp Sqrt(x) Easy
LC0070.cpp Climbing Stairs Easy
LC0072.cpp Edit Distance Hard
LC0074.cpp Search a 2D Matrix Medium
LC0075.cpp Sort Colors Medium
LC0078.cpp Subsets Medium
LC0079.cpp Word Search Medium
LC0081.cpp Search in Rotated Sorted Array II Medium
LC0088.cpp Merge Sorted Array Easy
LC0089.cpp Gray Code Medium
LC0090.cpp Subsets II Medium
LC0092.cpp Reverse Linked List II Medium
LC0094.cpp Binary Tree Inorder Traversal Medium
LC0095.cpp Unique Binary Search Trees II Medium
LC0096.cpp Unique Binary Search Trees Medium
LC0098.cpp Validate Binary Search Tree Medium
LC0100.cpp Same Tree Easy
LC0101.cpp Symmetric Tree Easy
LC0102.cpp Binary Tree Level Order Traversal Medium
LC0103.cpp Binary Tree Zigzag Level Order Traversal Medium
LC0104.cpp Maximum Depth of Binary Tree Easy
LC0105.cpp Construct Binary Tree from Preorder and Inorder Traversal Medium
LC0106.cpp Construct Binary Tree from Inorder and Postorder Traversal Medium
LC0107.cpp Binary Tree Level Order Traversal II Easy
LC0112.cpp Path Sum Easy
LC0118.cpp Pascal's Triangle Easy
LC0119.cpp Pascal's Triangle II Easy
LC0121.cpp Best Time to Buy and Sell Stock Easy
LC0122.cpp Best Time to Buy and Sell Stock II Easy
LC0123.cpp Best Time to Buy and Sell Stock III Hard
LC0124.cpp Binary Tree Maximum Path Sum Hard
LC0126.cpp Word Ladder II Hard
LC0127.cpp Word Ladder Medium
LC0129.cpp Sum Root to Leaf Numbers Medium
LC0130.cpp Surrounded Regions Medium
LC0134.cpp Gas Station Medium
LC0136.cpp Single Number Easy
LC0137.cpp Single Number II Medium
LC0138.cpp Copy List with Random Pointer Medium
LC0139.cpp Word Break Medium
LC0140.cpp Word Break II Hard
LC0142.cpp Linked List Cycle II Medium
LC0143.cpp Reorder List Medium
LC0144.cpp Binary Tree Preorder Traversal Medium
LC0146.cpp LRU Cache Medium
LC0147.cpp Insertion Sort List Medium
LC0151.cpp Reverse Words in a String Medium
LC0152.cpp Maximum Product Subarray Medium
LC0153.cpp Find Minimum in Rotated Sorted Array Medium
LC0154.cpp Find Minimum in Rotated Sorted Array II Hard
LC0155.cpp Min Stack Easy
LC0162.cpp Find Peak Element Medium
LC0165.cpp Compare Version Numbers Medium
LC0167.cpp Two Sum II - Input array is sorted Easy
LC0168.cpp Excel Sheet Column Title Easy
LC0169.cpp Majority Element Easy
LC0171.cpp Excel Sheet Column Number Easy
LC0174.cpp Dungeon Game Hard
LC0179.cpp Largest Number Medium
LC0188.cpp Best Time to Buy and Sell Stock IV Hard
LC0189.cpp Rotate Array Easy
LC0190.cpp Reverse Bits Easy
LC0198.cpp House Robber Easy
LC0199.cpp Binary Tree Right Side View Medium
LC0200.cpp Number of Islands Medium
LC0201.cpp Bitwise AND of Numbers Range Medium
LC0202.cpp Happy Number Easy
LC0203.cpp Remove Linked List Elements Easy
LC0207.cpp Course Schedule Medium
LC0208.cpp Implement Trie (Prefix Tree) Medium
LC0210.cpp Course Schedule II Medium
LC0211.cpp Add and Search Word - Data structure design Medium
LC0212.cpp Word Search II Hard
LC0213.cpp House Robber II Medium
LC0215.cpp Kth Largest Element in an Array Medium
LC0216.cpp Combination Sum III Medium
LC0217.cpp Contains Duplicate Easy
LC0219.cpp Contains Duplicate II Easy
LC0220.cpp Contains Duplicate III Medium
LC0221.cpp Maximal Square Medium
LC0222.cpp Count Complete Tree Nodes Medium
LC0226.cpp Invert Binary Tree Easy
LC0229.cpp Majority Element II Medium
LC0230.cpp Kth Smallest Element in a BST Medium
LC0231.cpp Power of Two Easy
LC0235.cpp Lowest Common Ancestor of a Binary Search Tree Easy
LC0236.cpp Lowest Common Ancestor of a Binary Tree Medium
LC0237.cpp Delete Node in a Linked List Easy
LC0238.cpp Product of Array Except Self Medium
LC0242.cpp Valid Anagram Easy
LC0258.cpp Add Digits Easy
LC0260.cpp Single Number III Medium
LC0263.cpp Ugly Number Easy
LC0264.cpp Ugly Number II Medium
LC0268.cpp Missing Number Easy
LC0274.cpp H-Index Medium
LC0275.cpp H-Index II Medium
LC0278.cpp First Bad Version Easy
LC0279.cpp Perfect Squares Medium
LC0283.cpp Move Zeroes Easy
LC0287.cpp Find the Duplicate Number Medium
LC0290.cpp Word Pattern Easy
LC0299.cpp Bulls and Cows Easy
LC0300.cpp Longest Increasing Subsequence Medium
LC0303.cpp Range Sum Query - Immutable Easy
LC0307.cpp Range Sum Query - Mutable Medium
LC0309.cpp Best Time to Buy and Sell Stock with Cooldown Medium
LC0322.cpp Coin Change Medium
LC0328.cpp Odd Even Linked List Medium
LC0332.cpp Reconstruct Itinerary Medium
LC0338.cpp Counting Bits Medium
LC0342.cpp Power of Four Easy
LC0344.cpp Reverse String Easy
LC0347.cpp Top K Frequent Elements Medium
LC0367.cpp Valid Perfect Square Easy
LC0368.cpp Largest Divisible Subset Medium
LC0380.cpp Insert Delete GetRandom O(1) Medium
LC0383.cpp Ransom Note Easy
LC0387.cpp First Unique Character in a String Easy
LC0392.cpp Is Subsequence Easy
LC0402.cpp Remove K Digits Medium
LC0404.cpp Sum of Left Leaves Easy
LC0406.cpp Queue Reconstruction by Height Medium
LC0409.cpp Longest Palindrome Easy
LC0412.cpp Fizz Buzz Easy
LC0421.cpp Maximum XOR of Two Numbers in an Array Medium
LC0430.cpp Flatten a Multilevel Doubly Linked List Medium
LC0435.cpp Non-overlapping Intervals Medium
LC0436.cpp Find Right Interval Medium
LC0437.cpp Path Sum III Medium
LC0438.cpp Find All Anagrams in a String Medium
LC0441.cpp Arranging Coins Easy
LC0442.cpp Find All Duplicates in an Array Medium
LC0450.cpp Delete Node in a BST Medium
LC0451.cpp Sort Characters By Frequency Medium
LC0459.cpp Repeated Substring Pattern Easy
LC0461.cpp Hamming Distance Easy
LC0463.cpp Island Perimeter Easy
LC0468.cpp Validate IP Address Medium
LC0470.cpp Implement Rand10() Using Rand7() Medium
LC0476.cpp Number Complement Easy
LC0495.cpp Teemo Attacking Medium
LC0497.cpp Random Point in Non-overlapping Rectangles Medium
LC0515.cpp Find Largest Value in Each Tree Row Medium
LC0518.cpp Coin Change 2 Medium
LC0520.cpp Detect Capital Easy
LC0525.cpp Contiguous Array Medium
LC0528.cpp Random Pick with Weight Medium
LC0540.cpp Single Element in a Sorted Array Medium
LC0543.cpp Diameter of Binary Tree Easy
LC0560.cpp Subarray Sum Equals K Medium
LC0567.cpp Permutation in String Medium
LC0575.cpp Distribute Candies Easy
LC0621.cpp Task Scheduler Medium
LC0662.cpp Maximum Width of Binary Tree Medium
LC0678.cpp Valid Parenthesis String Medium
LC0692.cpp Top K Frequent Words Medium
LC0700.cpp Search in a Binary Search Tree Easy
LC0701.cpp Insert into a Binary Search Tree Medium
LC0705.cpp Design HashSet Easy
LC0706.cpp Design HashMap Easy
LC0714.cpp Best Time to Buy and Sell Stock with Transaction Fee Medium
LC0718.cpp Maximum Length of Repeated Subarray Medium
LC0733.cpp Flood Fill Easy
LC0763.cpp Partition Labels Medium
LC0771.cpp Jewels and Stones Easy
LC0787.cpp Cheapest Flights Within K Stops Medium
LC0797.cpp All Paths From Source to Target Medium
LC0824.cpp Goat Latin Easy
LC0835.cpp Image Overlap Medium
LC0844.cpp Backspace String Compare Easy
LC0876.cpp Middle of the Linked List Easy
LC0886.cpp Possible Bipartition Medium
LC0889.cpp Construct Binary Tree from Preorder and Postorder Traversal Medium
LC0901.cpp Online Stock Span Medium
LC0905.cpp Sort Array By Parity Easy
LC0918.cpp Maximum Sum Circular Subarray Medium
LC0922.cpp Sort Array By Parity II Easy
LC0949.cpp Largest Time for Given Digits Easy
LC0952.cpp Largest Component Size by Common Factor Hard
LC0957.cpp Prison Cells After N Days Medium
LC0967.cpp Numbers With Same Consecutive Differences Medium
LC0969.cpp Pancake Sorting Medium
LC0973.cpp K Closest Points to Origin Medium
LC0980.cpp Unique Paths III Hard
LC0983.cpp Minimum Cost For Tickets Medium
LC0986.cpp Interval List Intersections Medium
LC0987.cpp Vertical Order Traversal of a Binary Tree Medium
LC0993.cpp Cousins in Binary Tree Easy
LC0994.cpp Rotting Oranges Medium
LC0997.cpp Find the Town Judge Easy
LC1008.cpp Construct Binary Search Tree from Preorder Traversal Medium
LC1009.cpp Complement of Base 10 Integer Easy
LC1022.cpp Sum of Root To Leaf Binary Numbers Easy
LC1029.cpp Two City Scheduling Easy
LC1035.cpp Uncrossed Lines Medium
LC1041.cpp Robot Bounded In Circle Medium
LC1044.cpp Longest Duplicate Substring Hard
LC1046.cpp Last Stone Weight Easy
LC1094.cpp Car Pooling Medium
LC1103.cpp Distribute Candies to People Easy
LC1143.cpp Longest Common Subsequence Medium
LC1190.cpp Reverse Substrings Between Each Pair of Parentheses Medium
LC1191.cpp K-Concatenation Maximum Sum Medium
LC1201.cpp Ugly Number III Medium
LC1202.cpp Smallest String With Swaps Medium
LC1208.cpp Get Equal Substrings Within Budget Medium
LC1209.cpp Remove All Adjacent Duplicates in String II Medium
LC1218.cpp Longest Arithmetic Subsequence of Given Difference Medium
LC1219.cpp Path with Maximum Gold Medium
LC1222.cpp Queens That Can Attack the King Medium
LC1229.cpp Meeting Scheduler Medium
LC1230.cpp Toss Strange Coins Medium
LC1232.cpp Check If It Is a Straight Line Easy
LC1233.cpp Remove Sub-Folders from the Filesystem Medium
LC1238.cpp Circular Permutation in Binary Representation Medium
LC1239.cpp Maximum Length of a Concatenated String with Unique Characters Medium
LC1248.cpp Count Number of Nice Subarrays Medium
LC1249.cpp Minimum Remove to Make Valid Parentheses Medium
LC1261.cpp Find Elements in a Contaminated Binary Tree Medium
LC1262.cpp Greatest Sum Divisible by Three Medium
LC1267.cpp Count Servers that Communicate Medium
LC1268.cpp Search Suggestions System Medium
LC1276.cpp Number of Burgers with No Waste of Ingredients Medium
LC1277.cpp Count Square Submatrices with All Ones Medium
LC1282.cpp Group the People Given the Group Size They Belong To Medium
LC1283.cpp Find the Smallest Divisor Given a Threshold Medium
LC1286.cpp Iterator for Combination Medium
LC1288.cpp Remove Covered Intervals Medium
LC1291.cpp Sequential Digits Medium
LC1292.cpp Maximum Side Length of a Square with Sum Less than or Equal to Threshold Medium
LC1296.cpp Divide Array in Sets of K Consecutive Numbers Medium
LC1297.cpp Maximum Number of Occurrences of a Substring Medium
LC1300.cpp Sum of Mutated Array Closest to Target Medium
LC1302.cpp Deepest Leaves Sum Medium
LC1305.cpp All Elements in Two Binary Search Trees Medium
LC1306.cpp Jump Game III Medium
LC1310.cpp XOR Queries of a Subarray Medium
LC1311.cpp Get Watched Videos by Your Friends Medium
LC1314.cpp Matrix Block Sum Medium
LC1315.cpp Sum of Nodes with Even-Valued Grandparent Medium
LC1318.cpp Minimum Flips to Make a OR b Equal to c Medium
LC1319.cpp Number of Operations to Make Network Connected Medium
LC1324.cpp Print Words Vertically Medium
LC1344.cpp Angle Between Hands of a Clock Medium
LC1426.cpp Counting Elements Easy
LC1427.cpp Perform String Shifts Easy
LC1428.cpp Leftmost Column with at Least a One Medium
LC1429.cpp First Unique Number Medium
LC1430.cpp Check If a String Is a Valid Sequence from Root to Leaves Path in a Binary Tree Medium
LC1467.cpp Probability of a Two Boxes Having The Same Number of Distinct Balls Hard
LC1566.cpp Detect Pattern of Length M Repeated K or More Times Easy
LC1567.cpp Maximum Length of Subarray With Positive Product Medium