Welcome to the LeetCode Solutions! # Title C++ Python Java Difficulty 1 Two Sum C++ Python Java Medium 2 Add Two Numbers C++ Python Java Medium 3 Longest Substring Without Repeating Characters C++ Python Java Medium 4 Median of Two Sorted Arrays C++ Python Java Hard 5 Longest Palindromic Substring C++ Python Java Medium 6 ZigZag Conversion C++ Python Java Easy 7 Reverse Integer C++ Python Java Easy 8 String to Integer (atoi) C++ Python Java Easy 9 Palindrome Number C++ Python Java Easy 10 Regular Expression Matching C++ Python Java Hard 11 Container With Most Water C++ Python Java Medium 12 Integer to Roman C++ Python Java Medium 13 Roman to Integer C++ Python Java Easy 14 Longest Common Prefix C++ Python Java Easy 15 3Sum C++ Python Java Medium 16 3Sum Closest C++ Python Java Medium 17 Letter Combinations of a Phone Number C++ Python Java Medium 18 4Sum C++ Python Java Medium 19 Remove Nth Node From End of List C++ Python Java Easy 20 Valid Parentheses C++ Python Java Easy 21 Merge Two Sorted Lists C++ Python Java Easy 22 Generate Parentheses C++ Python Java Medium 23 Merge k Sorted Lists C++ Python Java Hard 24 Swap Nodes in Pairs C++ Python Java Medium 25 Reverse Nodes in k-Group C++ Python Java Hard 26 Remove Duplicates from Sorted Array C++ Python Java Easy 27 Remove Element C++ Python Java Easy 28 Implement strStr() C++ Python Java Easy 29 Divide Two Integers C++ Python Java Medium 30 Substring with Concatenation of All Words C++ Python Java Hard 31 Next Permutation C++ Python Java Medium 32 Longest Valid Parentheses C++ Python Java Hard 33 Search in Rotated Sorted Array C++ Python Java Hard 34 Search for a Range C++ Python Java Medium 35 Search Insert Position C++ Python Java Medium 36 Valid Sudoku C++ Python Java Easy 37 Sudoku Solver C++ Python Java Hard 38 Count and Say C++ Python Java Easy 39 Combination Sum C++ Python Java Medium 40 Combination Sum II C++ Python Java Medium 41 First Missing Positive C++ Python Java Medium 42 Trapping Rain Water C++ Python Java Hard 43 Multiply Strings C++ Python Java Medium 44 Wildcard Matching C++ Python Java Hard 45 Jump Game II C++ Python Java Hard 46 Permutations C++ Python Java Medium 47 Permutations II C++ Python Java Hard 49 Anagrams C++ Python Java Medium 50 Pow(x, n) C++ Python Java Medium 51 N-Queens C++ Python Java Hard 52 N-Queens II C++ Python Java Hard 54 Spiral Matrix C++ Python Java Medium 55 Jump Game C++ Python Java Medium 57 Insert Interval C++ Python Java Hard 58 Length of Last Word C++ Python Java Easy 59 Spiral Matrix II C++ Python Java Medium 60 Permutation Sequence C++ Python Java Medium 61 Rotate List C++ Python Java Medium 65 Valid Number C++ Python Java Hard 67 Add Binary C++ Python Java Easy 68 Text Justification C++ Python Java Hard 69 Sqrt(x) C++ Python Java Medium 70 Climbing Stairs C++ Python Java Easy 72 Edit Distance C++ Java Python Hard 77 Combinations C++ Python Java Medium 82 Remove Duplicates from Sorted List II C++ Python Java Medium 83 Remove Duplicates from Sorted List C++ Python Java Easy 86 Partition List C++ Python Java Medium 89 Gray Code C++ Python Medium 91 Decode Ways C++ Python Java Medium 92 Reverse Linked List II C++ Python Java Medium 93 Restore IP Addresses C++ Python Java Medium 94 Binary Tree Inorder Traversal C++ Python Java Medium 97 Interleaving String C++ Python Java Hard 100 Same Tree C++ Python Java Easy 104 Maximum Depth of Binary Tree C++ Python Java Easy 108 Convert Sorted Array to Binary Search Tree C++ Python Java Medium 109 Convert Sorted List to Binary Search Tree C++ Python Java Medium 110 Balanced Binary Tree C++ Python Java Easy 115 Distinct Subsequences C++ Python Java Hard 121 Best Time to Buy and Sell Stock C++ Python Java Medium 122 Best Time to Buy and Sell Stock II C++ Python Java Medium 123 Best Time to Buy and Sell Stock III C++ Python Java Hard 124 Binary Tree Maximum Path Sum C++ Python Java Hard 125 Valid Palindrome C++ Python Java Easy 128 Longest Consecutive Sequence C++ Python Java Hard 131 Palindrome Partitioning C++ Python Java Medium 132 Palindrome Partitioning II C++ Python Hard 145 Binary Tree Postorder Traversal C++ Python Java Hard 146 LRU Cache C++ Python Java Hard 153 Find Minimum in Rotated Sorted Array C++ Python Java Medium 154 Find Minimum in Rotated Sorted Array II C++ Python Java Hard 160 Intersection of Two Linked Lists C++ Python Java Easy 162 Find Peak Element C++ Python Java Medium 165 Compare Version Numbers C++ Python Java Easy 166 Fraction to Recurring Decimal C++ Python Java Medium 168 Excel Sheet Column Title C++ Python Java Easy 169 Majority Element C++ Python Java Easy 171 Excel Sheet Column Number C++ Python Java Easy 172 Factorial Trailing Zeroes C++ Python Java Easy 173 Binary Search Tree Iterator C++ Python Java Medium 174 Dungeon Game C++ Python Java Hard 187 Repeated DNA Sequences C++ Python Java Medium 188 Best Time to Buy and Sell Stock IV C++ Python Java Hard 190 Reverse Bits C++ Python Java Easy 191 Number of 1 Bits C++ Python Java Easy 198 House Robber C++ Python Java Easy 199 Binary Tree Right Side View C++ Python Java Medium 200 Number of Islands C++ Python Java Medium 201 Bitwise AND of Numbers Range C++ Python Java Medium 202 Happy Number C++ Python Java Easy 203 Remove Linked List Elements C++ Python Java Easy 204 Count Primes C++ Python Java Easy 205 Isomorphic Strings C++ Python Java Easy 206 Reverse Linked List C++ Python Java Easy 207 Course Schedule C++ Python Java Medium 208 Implement Trie (Prefix Tree) C++ Python Java Medium 209 Minimum Size Subarray Sum C++ Python Java Medium 210 Course Schedule II C++ Python Java Medium 211 Add and Search Word - Data structure design C++ Python Java Medium 212 Word Search II C++ Python Java Hard 213 House Robber II C++ Python Java Medium 215 Kth Largest Element in an Array C++ Python Java Medium 216 Combination Sum III C++ Python Java Medium 217 Contains Duplicate C++ Python Java Easy 219 Contains Duplicate II C++ Python Java Easy 220 Contains Duplicate III C++ Python Java Medium 221 Maximal Square C++ Python Java Medium 222 Count Complete Tree Nodes C++ Python Java Medium 223 Rectangle Area C++ Python Java Easy 224 Basic Calculator C++ Python Java Medium 225 Implement Stack using Queues C++ Python Java Easy 226 Invert Binary Tree C++ Python Java Easy 227 Basic Calculator II C++ Python Java Medium 228 Summary Ranges C++ Python Java Easy 229 Majority Element II C++ Python Java Medium 230 Kth Smallest Element in a BST C++ Python Java Medium 231 Power of Two C++ Python Java Easy 232 Implement Queue using Stacks C++ Python Java Easy 233 Number of Digit One C++ Python Java Medium 234 Palindrome Linked List C++ Python Java Easy 235 Lowest Common Ancestor of a Binary Search Tree C++ Python Java Easy 236 Lowest Common Ancestor of a Binary Tree C++ Python Java Medium 237 Delete Node in a Linked List C++ Python Java Easy 238 Product of Array Except Self C++ Python Java Medium 240 Search a 2D Matrix II C++ Python Java Medium 241 Different Ways to Add Parentheses C++ Python Java Medium 242 Valid Anagram C++ Python Java Easy 257 Binary Tree Paths C++ Python Java Easy 258 Add Digits C++ Python Java Easy 260 Single Number III C++ Python Java Medium 263 Ugly Number C++ Python Java Easy 264 Ugly Number II C++ Python Java Medium 268 Missing Number C++ Python Java Medium 273 Integer to English Words C++ Python Java Medium 274 H-Index C++ Python Java Medium 275 H-Index II C++ Python Java Medium 278 First Bad Version C++ Python Java Easy 279 Perfect Squares C++ Python Java Medium 283 Move Zeroes C++ Python Java Easy 284 Peeking Iterator C++ Python Java Medium