GitHub - ShusenTang/LeetCode: LeetCode solutions with Chinese explanation & Summary of classic algorithms.

1 Two Sum C++ Easy 2 Add Two Numbers C++ Medium 3 Longest Substring Without Repeating Characters C++ Medium 4 Median of Two Sorted Arrays C++ Hard 5 Longest Palindromic Substring C++ Medium 6 ZigZag Conversion C++ Medium 7 Reverse Integer C++ Easy 8 String to Integer (atoi) C++ Medium 9 Palindrome Number C++ Easy 10 Regular Expression Matching C++ Hard 11 Container With Most Water C++ Medium 12 Integer to Roman C++ Medium 13 Roman to Integer C++ Easy 14 Longest Common Prefix C++ Easy 15 3Sum C++ Medium 16 3Sum Closest C++ Medium 17 Letter Combinations of a Phone Number C++ Medium 18 4Sum C++ Medium 19 Remove Nth Node From End of List C++ Medium 20 Valid Parentheses C++ Easy 21 Merge Two Sorted Lists C++ Easy 22 Generate Parentheses C++ Medium 23 Merge k Sorted Lists C++ Hard 24 Swap Nodes in Pairs C++ Medium 26 Remove Duplicates from Sorted Array C++ Easy 27 Remove Element C++ Easy 28 Implement strStr() C++ Easy 29 Divide Two Integers C++ Medium 31 Next Permutation C++ Medium 32 Longest Valid Parentheses C++ Hard 33 Search in Rotated Sorted Array C++ Medium 34 Find First and Last Position of Element in Sorted C++ Medium 35 Search Insert Position C++ Easy 36 Valid Sudoku C++ Medium 38 Count and Say C++ Easy 39 Combination Sum C++ Medium 40 Combination Sum II C++ Medium 41 First Missing Positive C++ Hard 42 Trapping Rain Water C++ Hard 43 Multiply Strings C++ Medium 44 Wildcard Matching C++ Hard 45 Jump Game II C++ Hard 46 Permutations C++ Medium 47 Permutations II C++ Medium 48 Rotate Image C++ Medium 49 Group Anagrams C++ Medium 50 Pow(x, n) C++ Medium 53 Maximum Subarray C++ Easy 54 Spiral Matrix C++ Medium 55 Jump Game C++ Medium 56 Merge Intervals C++ Medium 58 Length of Last Word C++ Easy 59 Spiral Matrix II C++ Medium 60 Permutation Sequence C++ Medium 61 Rotate List C++ Medium 62 Unique Paths C++ Medium 63 Unique Paths II C++ Medium 64 Minimum Path Sum C++ Medium 65 Valid Number C++ Hard 66 Plus One C++ Easy 67 Add Binary C++ Easy 69 Sqrt(x) C++ Easy 70 Climbing Stairs C++ Easy 71 Simplify Path C++ Medium 72 Edit Distance C++ Hard 73 Set Matrix Zeroes C++ Medium 74 Search a 2D Matrix C++ Medium 75 Sort Colors C++ Medium 76 Minimum Window Substring C++ Hard 77 Combinations C++ Medium 78 Subsets C++ Medium 79 Word Search C++ Medium 80 Remove Duplicates from Sorted Array II C++ Medium 81 Search in Rotated Sorted Array II C++ Medium 82 Remove Duplicates from Sorted List II C++ Medium 83 Remove Duplicates from Sorted List C++ Easy 84 Largest Rectangle in Histogram C++ Hard 85 Maximal Rectangle C++ Hard 86 Partition List C++ Medium 88 Merge Sorted Array C++ Easy 89 Gray Code C++ Medium 90 Subsets II C++ Medium 91 Decode Ways C++ Medium 92 Reverse Linked List II C++ Medium 93 Restore IP Addresses C++ Medium 94 Binary Tree Inorder Traversal C++ Medium 95 Unique Binary Search Trees II C++ Medium 96 Unique Binary Search Trees C++ Medium 97 Interleaving String C++ Medium 98 Validate Binary Search Tree C++ Medium 99 Recover Binary Search Tree C++ Medium 100 Same Tree C++ Easy 101 Symmetric Tree C++ Easy 102 Binary Tree Level Order Traversal C++ Medium 103 Binary Tree Zigzag Level Order Traversal C++ Medium 104 Maximum Depth of Binary Tree C++ Easy 105 Construct Binary Tree from Preorder and Inorder Traversal C++ Medium 106 Construct Binary Tree from Inorder and Postorder Traversal C++ Medium 107 Binary Tree Level Order Traversal II C++ Easy 108 Convert Sorted Array to Binary Search Tree C++ Easy 109 Convert Sorted List to Binary Search Tree C++ Medium 110 Balanced Binary Tree C++ Easy 111 Minimum Depth of Binary Tree C++ Easy 112 Path Sum C++ Easy 113 Path Sum II C++ Medium 114 Flatten Binary Tree to Linked List C++ Medium 116 Populating Next Right Pointers in Each Node C++ Medium 117 Populating Next Right Pointers in Each Node II C++ Medium 118 Pascal's Triangle C++ Easy 119 Pascal's Triangle II C++ Easy 120 Triangle C++ Medium 121 Best Time to Buy and Sell Stock C++ Easy 122 Best Time to Buy and Sell Stock II C++ Easy 123 Best Time to Buy and Sell Stock III C++ Hard 124 Binary Tree Maximum Path Sum C++ Hard 125 Valid Palindrome C++ Easy 127 Word Ladder C++ Medium 128 Longest Consecutive Sequence C++ Hard 129 Sum Root to Leaf Numbers C++ Medium 130 Surrounded Regions C++ Medium 131 Palindrome Partitioning C++ Medium 133 Clone Graph C++ Medium 134 Gas Station C++ Medium 136 Single Number C++ Easy 137 Single Number II C++ Medium 138 Copy List with Random Pointer C++ Medium 139 Word Break C++ Medium 140 Word Break II C++ Hard 141 Linked List Cycle C++ Easy 142 Linked List Cycle II C++ Medium 143 Reorder List C++ Medium 144 Binary Tree Preorder Traversal C++ Medium 145 Binary Tree Postorder Traversal C++ Hard 146 LRU Cache C++ Medium 148 Sort List C++ Medium 149 Max Points on a Line C++ Hard 150 Evaluate Reverse Polish Notation C++ Medium 151 Reverse Words in a String C++ Medium 152 Maximum Product Subarray C++ Medium 153 Find Minimum in Rotated Sorted Array C++ Medium 155 Min Stack C++ Easy 160 Intersection of Two Linked Lists C++ Easy 162 Find Peak Element C++ Medium 165 Compare Version Numbers C++ Medium 166 Fraction to Recurring Decimal C++ Medium 167 Two Sum II - Input array is sorted C++ Easy 168 Excel Sheet Column Title C++ Easy 169 Majority Element C++ Easy 171 Excel Sheet Column Number C++ Easy 172 Factorial Trailing Zeroes C++ Easy 179 Largest Number C++ Medium 187 Repeated DNA Sequences C++ Medium 188 Best Time to Buy and Sell Stock IV C++ Hard 189 Rotate Array C++ Easy 190 Reverse Bits C++ Easy 191 Number of 1 Bits C++ Easy 198 House Robber C++ Easy 199 Binary Tree Right Side View C++ Medium 200 Number of Islands C++ Medium 201 Bitwise AND of Numbers Range C++ Medium 202 Happy Number C++ Easy 203 Remove Linked List Elements C++ Easy 204 Count Primes C++ Easy 205 Isomorphic Strings C++ Easy 206 Reverse Linked List C++ Easy 207 Course Schedule C++ Medium 208 Implement Trie (Prefix Tree) C++ Medium 209 Minimum Size Subarray Sum C++ Medium 210 Course Schedule II C++ Medium 211 Add and Search Word - Data structure design C++ Medium 212 Word Search II C++ Hard 213 House Robber II C++ Medium 215 Kth Largest Element in an Array C++ Medium 216 Combination Sum III C++ Medium 217 Contains Duplicate C++ Easy 218 The Skyline Problem C++ Hard 219 Contains Duplicate II C++ Easy 220 Contains Duplicate III C++ Medium 221 Maximal Square C++ Medium 222 Count Complete Tree Nodes C++ Medium 223 Rectangle Area C++ Medium 225 Implement Stack using Queues C++ Easy 226 Invert Binary Tree C++ Easy 227 Basic Calculator II C++ Medium 228 Summary Ranges C++ Medium 229 Majority Element II C++ Medium 230 Kth Smallest Element in a BST C++ Medium 231 Power of Two C++ Easy 232 Implement Queue using Stacks C++ Easy 233 Number of Digit One C++ Hard 234 Palindrome Linked List C++ Easy 235 Lowest Common Ancestor of a Binary Search Tree C++ Easy 236 Lowest Common Ancestor of a Binary Tree C++ Medium 237 Delete Node in a Linked List C++ Easy 238 Product of Array Except Self C++ Medium 239 Sliding Window Maximum C++ Hard 240 Search a 2D Matrix II C++ Medium 241 Different Ways to Add Parentheses C++ Medium 242 Valid Anagram C++ Easy 257 Binary Tree Paths C++ Easy 258 Add Digits C++ Easy 260 Single Number III C++ Medium 263 Ugly Number C++ Easy 264 Ugly Number II C++ Medium 268 Missing Number C++ Easy 274 H-Index C++ Medium 275 H-Index II C++ Medium 278 First Bad Version C++ Easy 279 Perfect Squares C++ Medium 283 Move Zeroes C++ Easy 284 Peeking Iterator C++ Medium 287 Find the Duplicate Number C++ Medium 289 Game of Life C++ Medium 290 Word Pattern C++ Easy 292 Nim Game C++ Easy 295 Find Median from Data Stream C++ Hard 297 Serialize and Deserialize Binary Tree C++ Hard 299 Bulls and Cows C++ Medium 300 Longest Increasing Subsequence C++ Medium 301 Remove Invalid Parentheses C++ Hard 303 Range Sum Query - Immutable C++ Easy 304 Range Sum Query 2D - Immutable C++ Medium 306 Additive Number C++ Medium 307 Range Sum Query - Mutable C++ Medium 309 Best Time to Buy and Sell Stock with Cooldown C++ Medium 310 Minimum Height Trees C++ Medium 312 Burst Balloons C++ Hard 313 Super Ugly Number C++ Medium 315 Count of Smaller Numbers After Self C++ Hard 316 Remove Duplicate Letters C++ Medium 318 Maximum Product of Word Lengths C++ Medium 319 Bulb Switcher C++ Medium 322 Coin Change C++ Medium 324 Wiggle Sort II C++ Medium 326 Power of Three C++ Easy 328 Odd Even Linked List C++ Medium 329 Longest Increasing Path in a Matrix C++ Hard 331 Verify Preorder Serialization of a Binary Tree C++ Medium 332 Reconstruct Itinerary C++ Medium 334 Increasing Triplet Subsequence C++ Medium 337 House Robber III C++ Medium 338 Counting Bits C++ Medium 341 Flatten Nested List Iterator C++ Medium 342 Power of Four C++ Easy 343 Integer Break C++ Medium 344 Reverse String C++ Easy 345 Reverse Vowels of a String C++ Easy 347 Top K Frequent Elements C++ Medium 349 Intersection of Two Arrays C++ Easy 350 Intersection of Two Arrays II C++ Easy 357 Count Numbers with Unique Digits C++ Medium 365 Water and Jug Problem C++ Medium 367 Valid Perfect Square C++ Easy 368 Largest Divisible Subset C++ Medium 371 Sum of Two Integers C++ Easy 372 Super Pow C++ Medium 373 Find K Pairs with Smallest Sums C++ Medium 374 Guess Number Higher or Lower C++ Easy 375 Guess Number Higher or Lower II C++ Medium 376 Wiggle Subsequence C++ Medium 377 Combination Sum IV C++ Medium 378 Kth Smallest Element in a Sorted Matrix C++ Medium 380 Insert Delete GetRandom O(1) C++ Medium 381 Insert Delete GetRandom O(1) - Duplicates allowed C++ Hard 382 Linked List Random Node C++ Medium 383 Ransom Note C++ Easy 384 Shuffle an Array C++ Medium 385 Mini Parser C++ Medium 386 Lexicographical Numbers C++ Medium 387 First Unique Character in a String C++ Easy 388 Longest Absolute File Path C++ Medium 389 Find the Difference C++ Easy 390 Elimination Game C++ Medium 392 Is Subsequence C++ Easy 393 UTF-8 Validation C++ Medium 394 Decode String C++ Medium 395 Longest Substring with At Least K Repeating Characters C++ Medium 396 Rotate Function C++ Medium 397 Integer Replacement C++ Medium 398 Random Pick Index C++ Medium 400 Nth Digit C++ Medium 401 Binary Watch C++ Easy 402 Remove K Digits C++ Medium 404 Sum of Left Leaves C++ Easy 405 Convert a Number to Hexadecimal C++ Easy 406 Queue Reconstruction by Height C++ Medium 409 Longest Palindrome C++ Easy 412 Fizz Buzz C++ Easy 413 Arithmetic Slices C++ Medium 414 Third Maximum Number C++ Easy 415 Add Strings C++ Easy 416 Partition Equal Subset Sum C++ Medium 429 N-ary Tree Level Order Traversal C++ Easy 434 Number of Segments in a String C++ Easy 437 Path Sum III C++ Easy 438 Find All Anagrams in a String C++ Easy 441 Arranging Coins C++ Easy 443 String Compression C++ Easy 447 Number of Boomerangs C++ Easy 448 Find All Numbers Disappeared in an Array C++ Easy 453 Minimum Moves to Equal Array Elements C++ Easy 454 4Sum II C++ Medium 455 Assign Cookies C++ Easy 459 Repeated Substring Pattern C++ Easy 461 Hamming Distance C++ Easy 463 Island Perimeter C++ Easy 474 Ones and Zeroes C++ Medium 475 Heaters C++ Easy 476 Number Complement C++ Easy 485 Max Consecutive Ones C++ Easy 493 Reverse Pairs C++ Hard 494 Target Sum C++ Medium 496 Next Greater Element I C++ Easy 500 Keyboard Row C++ Easy 509 Fibonacci Number C++ Easy 532 K-diff Pairs in an Array C++ Easy 543 Diameter of Binary Tree C++ Easy 560 Subarray Sum Equals K C++ Medium 561 Array Partition I C++ Easy 566 Reshape the Matrix C++ Easy 572 Subtree of Another Tree C++ Easy 581 Shortest Unsorted Continuous Subarray C++ Easy 605 Can Place Flowers C++ Easy 617 Merge Two Binary Trees C++ Easy 621 Task Scheduler C++ Medium 628 Maximum Product of Three Numbers C++ Easy 643 Maximum Average Subarray I C++ Easy 647 Palindromic Substrings C++ Medium 661 Image Smoother C++ Easy 665 Non-decreasing Array C++ Easy 714 Best Time to Buy and Sell Stock with Transaction Fee C++ Medium 739 Daily Temperatures C++ Medium 829 Consecutive Numbers Sum C++ Hard 846 Hand of Straights C++ Medium 905 Sort Array By Parity C++ Easy 946 Validate Stack Sequences C++ Medium 1155 Number of Dice Rolls With Target Sum C++ Medium