# leetcode **Repository Path**: xindoo/leetcode ## Basic Information - **Project Name**: leetcode - **Description**: leetcode 题解 - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-08-28 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README leetcode刷题记录 =============== - [x] 1 Two Sum | Easy - [x] 2 Add Two Numbers|Medium - [x] 3 Longest Substring Without Repeating Characters| Medium - [x] 4 Median of Two Sorted Arrays|Hard - [x] 5 Longest Palindromic Substring|Medium - [x] 6 ZigZag Conversion|Medium - [x] 7 Reverse Integer|Easy - [x] 8 String to Integer (atoi)    Medium - [x] 9 Palindrome Number|Easy - [ ] 10 Regular Expression Matching|Hard - [x] 11 Container With Most Water| Medium - [x] 12 Integer to Roman|Medium - [x] 13 Roman to Integer|Easy - [x] 14 Longest Common Prefix| Easy - [x] 15 3Sum    Medium - [x] 16 3Sum Closest    Medium - [x] 17 Letter Combinations of a Phone Number| Medium - [x] 18 4Sum |   Medium - [x] 19 Remove Nth Node From End of List  |  Medium - [x] 20 Valid Parentheses| Easy - [x] 21 Merge Two Sorted Lists| Easy - [x] 22 Generate Parentheses  |  Medium - [x] 23 Merge k Sorted Lists  |  Hard - [x] 24 Swap Nodes in Pairs | Medium - [x] 25 Reverse Nodes in k-Group  |  Hard - [x] 26 Remove Duplicates from Sorted Array | Easy - [x] 27 Remove Element| Easy - [x] 28 Implement strStr()| Easy - [x] 29 Divide Two Integers|Medium - [x] 30 Substring with Concatenation of All Words| Hard - [x] 31 Next Permutation    Medium - [x] 32 Longest Valid Parentheses| Hard - [x] 33 Search in Rotated Sorted Array| Medium - [x] 34 Search for a Range| Medium - [x] 35 Search Insert Position| Easy - [ ] 36 Valid Sudoku    Medium - [x] 37 Sudoku Solver| Hard - [x] 38 Count and Say| Easy - [x] 39 Combination Sum|Medium - [x] 40 Combination Sum II| Medium - [x] 41 First Missing Positive| Hard - [x] 42 Trapping Rain Water|Hard - [x] 43 Multiply Strings    Medium - [x] 44 Wildcard Matching| Hard - [x] 45 Jump Game II    Hard - [x] 46 Permutations    Medium - [x] 47 Permutations II | Medium | dfs - [x] 48 Rotate Image    Medium - [x] 49 Group Anagrams| Medium - [x] 50 Pow(x, n)| Medium - [ ] 51 N-Queens    Hard - [ ] 52 N-Queens II|Hard - [x] 53 Maximum Subarray    Easy - [x] 54 Spiral Matrix | Medium - [x] 55 Jump Game| Medium - [x] 56 Merge Intervals|Medium - [x] 57 Insert Interval|Hard - [x] 58 Length of Last Word|Easy - [x] 59 Spiral Matrix II    Medium - [ ] 60 Permutation Sequence    Medium - [x] 61 Rotate List|Medium - [x] 62 Unique Paths    Medium - [x] 63 Unique Paths II|Medium - [ ] 64 Minimum Path Sum    Medium - [ ] 65 Valid Number    Hard - [x] 66 Plus One    Easy - [x] 67 Add Binary| Easy - [ ] 68 Text Justification| Hard - [x] 69 Sqrt(x)|Easy - [x] 70 Climbing Stairs|Easy - [ ] 71 Simplify Path| Medium - [x] 72 Edit Distance| Hard - [x] 73 Set Matrix Zeroes| Medium - [x] 74 Search a 2D Matrix| Medium - [x] 75 Sort Colors|Medium - [x] 76 Minimum Window Substring    Hard - [x] 77 Combinations    Medium - [x] 78 Subsets|Medium - [x] 79 Word Search|Medium - [ ] 80 Remove Duplicates from Sorted Array II| Medium - [x] 81 Search in Rotated Sorted Array II| Medium - [x] 82 Remove Duplicates from Sorted List II| Medium - [x] 83 Remove Duplicates from Sorted List| Easy - [x] 84 Largest Rectangle in Histogram | Hard | Stack - [ ] 85 Maximal Rectangle| Hard - [x] 86 Partition List| Medium - [ ] 87 Scramble String|Hard - [x] 88 Merge Sorted Array| Easy - [x] 89 Gray Code| Medium - [ ] 90 Subsets II| Medium - [ ] 91 Decode Ways|Medium - [ ] 92 Reverse Linked List II| Medium - [x] 93 Restore IP Addresses    Medium - [ ] 94 Binary Tree Inorder Traversal| Medium - [ ] 95 Unique Binary Search Trees II| Medium - [x] 96 Unique Binary Search Trees| Medium - [ ] 97 Interleaving String|Hard - [x] 98 Validate Binary Search Tree|Medium - [ ] 99 Recover Binary Search Tree| Hard - [x] 100 Same Tree| Easy - [x] 101 Symmetric Tree| Easy - [x] 102 Binary Tree Level Order Traversal| Medium - [x] 103 Binary Tree Zigzag Level Order Traversal    Medium - [x] 104 Maximum Depth of Binary Tree    Easy - [x] 105 Construct Binary Tree from Preorder and Inorder Traversal| Medium - [ ] 106 Construct Binary Tree from Inorder and Postorder Traversal| Medium - [x] 107 Binary Tree Level Order Traversal II   | Easy - [x] 108 Convert Sorted Array to Binary Search Tree| Easy - [x] 109 Convert Sorted List to Binary Search Tree| Medium - [x] 110 Balanced Binary Tree    Easy - [x] 111 Minimum Depth of Binary Tree    Easy - [x] 112 Path Sum    Easy - [x] 113 Path Sum II|Medium - [x] 114 Flatten Binary Tree to Linked List| Medium - [ ] 115 Distinct Subsequences| Hard - [x] 116 Populating Next Right Pointers in Each Node|Medium - [x] 117 Populating Next Right Pointers in Each Node II| Medium - [x] 118 Pascal's Triangle| Easy - [x] 119 Pascal's Triangle II    Easy - [x] 120 Triangle    Medium - [x] 121 Best Time to Buy and Sell Stock|Easy - [x] 122 Best Time to Buy and Sell Stock II| Easy - [x] 123 Best Time to Buy and Sell Stock III|Hard - [ ] 124 Binary Tree Maximum Path Sum    Hard - [x] 125 Valid Palindrome    Easy - [ ] 126 Word Ladder II| Hard - [ ] 127 Word Ladder|Medium - [x] 128 Longest Consecutive Sequence    Hard - [x] 129 Sum Root to Leaf Numbers    Medium - [x] 130 Surrounded Regions| Medium - [ ] 131 Palindrome Partitioning|Medium - [ ] 132 Palindrome Partitioning II| Hard - [ ] 133 Clone Graph|Medium - [x] 134 Gas Station|Medium - [x] 135 Candy| Hard - [x] 136 Single Number| Easy - [x] 137 Single Number II    Medium - [x] 138 Copy List with Random Pointer| Medium - [x] 139 Word Break| Medium - [x] 140 Word Break II| Hard - [x] 141 Linked List Cycle| Easy - [x] 142 Linked List Cycle II    Medium - [x] 143 Reorder List  |  Medium | LinkedList - [x] 144 Binary Tree Preorder Traversal| Medium - [x] 145 Binary Tree Postorder Traversal|Hard - [x] 146 LRU Cache| Hard - [x] 147 Insertion Sort List|Medium - [x] 148 Sort List| Medium - [ ] 149 Max Points on a Line    Hard - [x] 150 Evaluate Reverse Polish Notation    Medium - [x] 151 Reverse Words in a String| Medium - [x] 152 Maximum Product Subarray    Medium - [x] 153 Find Minimum in Rotated Sorted Array    Medium - [x] 154 Find Minimum in Rotated Sorted Array II|Hard - [x] 155 Min Stack| Easy - [ ] 156 Binary Tree Upside Down  | Medium - [ ] 157 Read N Characters Given Read4  |Easy - [ ] 158 Read N Characters Given Read4 II - Call multiple times |Hard - [ ] 159 Longest Substring with At Most Two Distinct Characters |Hard - [x] 160 Intersection of Two Linked Lists    Easy - [ ] 161 One Edit Distance  |Medium - [x] 162 Find Peak Element| Medium - [ ] 163 Missing Ranges |Medium - [x] 164 Maximum Gap|Hard - [x] 165 Compare Version Numbers|Medium - [ ] 166 Fraction to Recurring Decimal| Medium - [x] 167 Two Sum II - Input array is sorted| Easy - [x] 168 Excel Sheet Column Title    Easy - [x] 169 Majority Element    Easy - [ ] 170 Two Sum III - Data structure design  | Easy - [x] 171 Excel Sheet Column Number| Easy - [x] 172 Factorial Trailing Zeroes| Easy - [x] 173 Binary Search Tree Iterator | Medium - [ ] 174 Dungeon Game    Hard - [ ] 175 Combine Two Tables| Easy - [x] 176 Second Highest Salary| Easy - [x] 177 Nth Highest Salary| Medium - [ ] 178 Rank Scores|Medium - [x] 179 Largest Number| Medium - [ ] 180 Consecutive Numbers|Medium - [x] 181 Employees Earning More Than Their Managers| Easy - [x] 182 Duplicate Emails    Easy - [x] 183 Customers Who Never Order| Easy - [ ] 184 Department Highest Salary| Medium - [ ] 185 Department Top Three Salaries| Hard - [ ] 186 Reverse Words in a String II  | Medium - [x] 187 Repeated DNA Sequences| Medium - [x] 188 Best Time to Buy and Sell Stock IV| Hard - [x] 189 Rotate Array    Easy - [x] 190 Reverse Bits    Easy - [x] 191 Number of 1 Bits    Easy - [x] 192 Word Frequency| Medium - [x] 193 Valid Phone Numbers|Easy - [x] 194 Transpose File| Medium - [x] 195 Tenth Line| Easy - [x] 196 Delete Duplicate Emails|Easy - [x] 197 Rising Temperature| Easy - [x] 198 House Robber    Easy - [x] 199 Binary Tree Right Side View|Medium - [x] 200 Number of Islands| Medium - [x] 201 Bitwise AND of Numbers Range    Medium - [x] 202 Happy Number    Easy - [x] 203 Remove Linked List Elements|Easy - [x] 204 Count Primes    Easy - [x] 205 Isomorphic Strings| Easy - [x] 206 Reverse Linked List|Easy - [x] 207 Course Schedule|Medium - [x] 208 Implement Trie (Prefix Tree)    Medium - [x] 209 Minimum Size Subarray Sum| Medium - [x] 210 Course Schedule II| Medium - [x] 211 Add and Search Word - Data structure design|Medium - [ ] 212 Word Search II| Hard - [x] 213 House Robber II|Medium - [ ] 214 Shortest Palindrome|Hard - [x] 215 Kth Largest Element in an Array|Medium - [x] 216 Combination Sum III|Medium - [x] 217 Contains Duplicate| Easy - [ ] 218 The Skyline Problem|Hard - [x] 219 Contains Duplicate II| Easy - [ ] 220 Contains Duplicate III| Medium - [ ] 221 Maximal Square| Medium - [x] 222 Count Complete Tree Nodes| Medium - [x] 223 Rectangle Area| Medium - [ ] 224 Basic Calculator    Hard - [x] 225 Implement Stack using Queues    Easy - [x] 226 Invert Binary Tree| Easy - [x] 227 Basic Calculator II|Medium - [x] 228 Summary Ranges| Medium - [x] 229 Majority Element II|Medium - [x] 230 Kth Smallest Element in a BST| Medium - [x] 231 Power of Two    Easy - [x] 232 Implement Queue using Stacks  |  Easy - [x] 233 Number of Digit One | Hard - [x] 234 Palindrome Linked List| Easy - [x] 235 Lowest Common Ancestor of a Binary Search Tree| Easy - [x] 236 Lowest Common Ancestor of a Binary Tree|Medium - [x] 237 Delete Node in a Linked List    Easy - [x] 238 Product of Array Except Self    Medium - [ ] 239 Sliding Window Maximum| Hard - [x] 240 Search a 2D Matrix II| Medium - [ ] 241 Different Ways to Add Parentheses| Medium - [x] 242 Valid Anagram| Easy - [ ] 243 Shortest Word Distance |Easy - [ ] 244 Shortest Word Distance II  |Medium - [ ] 245 Shortest Word Distance III |Medium - [ ] 246 Strobogrammatic Number |Easy - [ ] 247 Strobogrammatic Number II  |Medium - [ ] 248 Strobogrammatic Number III |Hard - [ ] 249 Group Shifted Strings  |Medium - [ ] 250 Count Univalue Subtrees  | Medium - [ ] 251 Flatten 2D Vector  |Medium - [ ] 252 Meeting Rooms  |Easy - [ ] 253 Meeting Rooms II  | Medium - [ ] 254 Factor Combinations  | Medium - [ ] 255 Verify Preorder Sequence in Binary Search Tree |Medium - [ ] 256 Paint House  | Easy - [x] 257 Binary Tree Paths| Easy - [x] 258 Add Digits| Easy - [ ] 259 3Sum Smaller  | Medium - [x] 260 Single Number III| Medium - [ ] 261 Graph Valid Tree  | Medium - [ ] 262 Trips and Users|Hard - [ ] 263 Ugly Number|Easy - [x] 264 Ugly Number II| Medium - [ ] 265 Paint House II |Hard - [ ] 266 Palindrome Permutation |Easy - [ ] 267 Palindrome Permutation II  |Medium - [x] 268 Missing Number| Easy - [ ] 269 Alien Dictionary  | Hard - [ ] 270 Closest Binary Search Tree Value  | Easy - [ ] 271 Encode and Decode Strings  |Medium - [ ] 272 Closest Binary Search Tree Value II  | Hard - [ ] 273 Integer to English Words    Hard - [x] 274 H-Index|Medium - [x] 275 H-Index II| Medium - [ ] 276 Paint Fence  | Easy - [ ] 277 Find the Celebrity |Medium - [x] 278 First Bad Version| Easy - [x] 279 Perfect Squares|Medium - [ ] 280 Wiggle Sort  | Medium - [ ] 281 Zigzag Iterator  | Medium - [ ] 282 Expression Add Operators    Hard - [x] 283 Move Zeroes|Easy - [ ] 284 Peeking Iterator    Medium - [ ] 285 Inorder Successor in BST  | Medium - [ ] 286 Walls and Gates  | Medium - [x] 287 Find the Duplicate Number| Medium - [ ] 288 Unique Word Abbreviation  | Medium - [x] 289 Game of Life    Medium - [x] 290 Word Pattern    Easy - [ ] 291 Word Pattern II  | Hard - [x] 292 Nim Game    Easy - [ ] 293 Flip Game  |Easy - [ ] 294 Flip Game II  | Medium - [x] 295 Find Median from Data Stream    Hard - [ ] 296 Best Meeting Point |Hard - [ ] 297 Serialize and Deserialize Binary Tree| Hard - [ ] 298 Binary Tree Longest Consecutive Sequence  | Medium - [x] 299 Bulls and Cows| Medium - [x] 300 Longest Increasing Subsequence| Medium - [ ] 301 Remove Invalid Parentheses| Hard - [ ] 302 Smallest Rectangle Enclosing Black Pixels  |Hard - [x] 303 Range Sum Query - Immutable|Easy - [x] 304 Range Sum Query 2D - Immutable| Medium - [ ] 305 Number of Islands II  | Hard - [x] 306 Additive Number|Medium - [x] 307 Range Sum Query - Mutable| Medium - [ ] 308 Range Sum Query 2D - Mutable  | Hard - [x] 309 Best Time to Buy and Sell Stock with Cooldown| Medium - [ ] 310 Minimum Height Trees    Medium - [ ] 311 Sparse Matrix Multiplication  | Medium - [ ] 312 Burst Balloons| Hard - [x] 313 Super Ugly Number| Medium - [ ] 314 Binary Tree Vertical Order Traversal  | Medium - [x] 315 Count of Smaller Numbers After Self|Hard - [x] 316 Remove Duplicate Letters    Hard - [ ] 317 Shortest Distance from All Buildings  | Hard - [x] 318 Maximum Product of Word Lengths|Medium - [x] 319 Bulb Switcher| Medium - [ ] 320 Generalized Abbreviation  | Medium - [ ] 321 Create Maximum Number| Hard - [x] 322 Coin Change|Medium - [ ] 323 Number of Connected Components in an Undirected Graph  |Medium - [x] 324 Wiggle Sort II| Medium - [ ] 325 Maximum Size Subarray Sum Equals k |Medium - [x] 326 Power of Three| Easy - [x] 327 Count of Range Sum | Hard | TreeMap - [x] 328 Odd Even Linked List    Medium - [ ] 329 Longest Increasing Path in a Matrix|Hard - [x] 330 Patching Array| Hard - [x] 331 Verify Preorder Serialization of a Binary Tree| Medium - [ ] 332 Reconstruct Itinerary| Medium - [ ] 333 Largest BST Subtree  | Medium - [x] 334 Increasing Triplet Subsequence| Medium - [ ] 335 Self Crossing | Hard - [ ] 336 Palindrome Pairs    Hard - [x] 337 House Robber III    Medium - [x] 338 Counting Bits| Medium - [ ] 339 Nested List Weight Sum |Easy - [ ] 340 Longest Substring with At Most K Distinct Characters  | Hard - [x] 341 Flatten Nested List Iterator    Medium - [x] 342 Power of Four| Easy - [x] 343 Integer Break| Medium - [x] 344 Reverse String| Easy - [x] 345 Reverse Vowels of a String| Easy - [ ] 346 Moving Average from Data Stream       Easy - [x] 347 Top K Frequent Elements|Medium - [ ] 348 Design Tic-Tac-Toe |Medium - [x] 349 Intersection of Two Arrays| Easy - [x] 350 Intersection of Two Arrays II| Easy - [ ] 351 Android Unlock Patterns  | Medium - [ ] 352 Data Stream as Disjoint Intervals| Hard - [ ] 353 Design Snake Game  |Medium - [x] 354 Russian Doll Envelopes| Hard - [ ] 355 Design Twitter| Medium - [ ] 356 Line Reflection  | Medium - [x] 357 Count Numbers with Unique Digits    Medium - [ ] 358 Rearrange String k Distance Apart  |Hard - [ ] 359 Logger Rate Limiter  | Easy - [ ] 360 Sort Transformed Array |Medium - [ ] 361 Bomb Enemy |Medium - [ ] 362 Design Hit Counter |Medium - [ ] 363 Max Sum of Rectangle No Larger Than K| Hard - [ ] 364 Nested List Weight Sum II  |Medium - [x] 365 Water and Jug Problem| Medium - [ ] 366 Find Leaves of Binary Tree |Medium - [x] 367 Valid Perfect Square    Easy - [x] 368 Largest Divisible Subset    Medium - [ ] 369 Plus One Linked List  | Medium - [ ] 370 Range Addition |Medium - [x] 371 Sum of Two Integers|Easy - [x] 372 Super Pow| Medium - [x] 373 Find K Pairs with Smallest Sums|Medium - [x] 374 Guess Number Higher or Lower    Easy - [ ] 375 Guess Number Higher or Lower II|Medium - [ ] 376 Wiggle Subsequence| Medium - [x] 377 Combination Sum IV| Medium - [x] 378 Kth Smallest Element in a Sorted Matrix|Medium - [ ] 379 Design Phone Directory |Medium - [ ] 380 Insert Delete GetRandom O(1)    Medium - [ ] 381 Insert Delete GetRandom O(1) - Duplicates allowed| Hard - [x] 382 Linked List Random Node|Medium - [x] 383 Ransom Note|Easy - [ ] 384 Shuffle an Array    Medium - [ ] 385 Mini Parser|Medium - [ ] 386 Lexicographical Numbers|Medium - [x] 387 First Unique Character in a String| Easy - [x] 388 Longest Absolute File Path| Medium - [x] 389 Find the Difference|Easy - [ ] 390 Elimination Game    Medium - [ ] 391 Perfect Rectangle| Hard - [x] 392 Is Subsequence| Medium - [ ] 393 UTF-8 Validation    Medium - [x] 394 Decode String | Medium | Recursion - [x] 395 Longest Substring with At Least K Repeating Characters| Medium - [x] 396 Rotate Function|Medium - [x] 397 Integer Replacement|Medium - [x] 398 Random Pick Index| Medium - [ ] 399 Evaluate Division| Medium - [x] 400 Nth Digit | Easy - [x] 401 Binary Watch    Easy - [x] 402 Remove K Digits|Medium - [x] 403 Frog Jump| Hard - [x] 404 Sum of Left Leaves| Easy - [x] 405 Convert a Number to Hexadecimal|Easy - [x] 406 Queue Reconstruction by Height| Medium - [ ] 407 Trapping Rain Water II| Hard - [ ] 408 Valid Word Abbreviation  | Easy - [x] 409 Longest Palindrome| Easy - [ ] 410 Split Array Largest Sum|Hard - [ ] 411 Minimum Unique Word Abbreviation  | Hard - [x] 412 Fizz Buzz| Easy - [x] 413 Arithmetic Slices| Medium - [x] 414 Third Maximum Number    Easy - [x] 415 Add Strings|Easy - [x] 416 Partition Equal Subset Sum| Medium - [ ] 417 Pacific Atlantic Water Flow|Medium - [ ] 418 Sentence Screen Fitting  | Medium - [ ] 419 Battleships in a Board| Medium - [ ] 420 Strong Password Checker|Hard - [x] 421 Maximum XOR of Two Numbers in an Array| Medium - [ ] 422 Valid Word Square  |Easy - [x] 423 Reconstruct Original Digits from English   | Medium - [ ] 424 Longest Repeating Character Replacement|Medium - [ ] 425 Word Squares  | Hard - [x] 430 Flatten a Multilevel Doubly Linked List | Medium - [ ] 432 All O`one Data Structure    Hard - [x] 433 Minimum Genetic Mutation    Medium - [ ] 434 Number of Segments in a String| Easy - [x] 435 Non-overlapping Intervals| Medium - [x] 436 Find Right Interval | Medium - [x] 437 Path Sum III   | Easy - [x] 438 Find All Anagrams in a String | Easy - [ ] 439 Ternary Expression Parser  | Medium - [ ] 440 K-th Smallest in Lexicographical Order| Hard - [x] 441 Arranging Coins|Easy - [x] 442 Find All Duplicates in an Array|Medium - [ ] 444 Sequence Reconstruction  | Medium - [x] 445 Add Two Numbers II| Medium - [ ] 446 Arithmetic Slices II - Subsequence| Hard - [x] 447 Number of Boomerangs    Easy - [x] 448 Find All Numbers Disappeared in an Array    Easy - [x] 449 Serialize and Deserialize BST| Medium - [x] 450 Delete Node in a BST  |  Medium - [x] 451 Sort Characters By Frequency    Medium - [ ] 452 Minimum Number of Arrows to Burst Balloons| Medium - [x] 453 Minimum Moves to Equal Array Elements| Easy - [x] 454 4Sum II|Medium - [x] 455 Assign Cookies| Easy - [ ] 456 132 Pattern|Medium - [ ] 457 Circular Array Loop|Medium - [x] 458 Poor Pigs| Easy - [x] 459 Repeated Substring Pattern| Easy - [ ] 460 LFU Cache| Hard - [x] 461 Hamming Distance    Easy - [ ] 462 Minimum Moves to Equal Array Elements II    Medium - [x] 463 Island Perimeter  |  Easy - [x] 464 Can I Win | Medium - [ ] 465 Optimal Account Balancing  |Hard - [ ] 466 Count The Repetitions| Hard - [x] 467 Unique Substrings in Wraparound String| Medium - [ ] 468 Validate IP Address|Medium - [ ] 469 Convex Polygon |Medium - [x] 470 Implement Rand10() Using Rand7() | Medium - [ ] 471 Encode String with Shortest Length |Hard - [ ] 472 Concatenated Words| Hard - [ ] 473 Matchsticks to Square| Medium - [x] 474 Ones and Zeroes|Medium - [x] 475 Heaters|Easy - [x] 476 Number Complement| Easy - [x] 477 Total Hamming Distance| Medium - [x] 478 Generate Random Point in a Circle | Medium - [x] 479 Largest Palindrome Product| Easy - [ ] 480 Sliding Window Median| Hard - [ ] 481 Magical String| Medium - [x] 482 License Key Formatting| Medium - [x] 483 Smallest Good Base| Hard - [ ] 484 Find Permutation  | Medium - [x] 485 Max Consecutive Ones    Easy - [x] 486 Predict the Winner| Medium - [ ] 487 Max Consecutive Ones II  | Medium - [ ] 488 Zuma Game| Hard - [ ] 490 The Maze  | Medium - [x] 491 Increasing Subsequences | Medium - [x] 492 Construct the Rectangle|Easy - [x] 493 Reverse Pairs| Hard - [x] 494 Target Sum| Medium - [ ] 495 Teemo Attacking|Medium - [x] 496 Next Greater Element I| Easy - [x] 498 Diagonal Traverse| Medium - [ ] 499 The Maze III  | Hard - [x] 500 Keyboard Row    Easy - [x] 501 Find Mode in Binary Search Tree|Easy - [ ] 502 IPO|Hard - [x] 503 Next Greater Element II | Medium - [ ] 504 Base 7| Easy - [ ] 505 The Maze II  | Medium - [x] 506 Relative Ranks| Easy - [x] 507 Perfect Number| Easy - [x] 508 Most Frequent Subtree Sum| Medium - [x] 513 Find Bottom Left Tree Value|Medium - [ ] 514 Freedom Trail| Hard - [x] 515 Find Largest Value in Each Tree Row|Medium - [ ] 516 Longest Palindromic Subsequence|Medium - [ ] 517 Super Washing Machines| Hard - [x] 518 Coin Change 2 | Medium - [x] 519 Random Flip Matrix | Medium - [x] 520 Detect Capital| Easy - [x] 521 Longest Uncommon Subsequence I |Easy - [ ] 522 Longest Uncommon Subsequence II|Medium - [ ] 523 Continuous Subarray Sum|Medium - [x] 524 Longest Word in Dictionary through Deleting|Medium - [x] 525 Contiguous Array    Medium - [x] 526 Beautiful Arrangement| Medium - [ ] 527 Word Abbreviation  |Hard - [ ] 529 Minesweeper|Medium - [x] 530 Minimum Absolute Difference in BST| Easy - [ ] 531 Lonely Pixel I |Medium - [ ] 532 K-diff Pairs in an Array    Easy - [ ] 533 Lonely Pixel II  | Medium - [ ] 534 Design TinyURL| Medium - [x] 535 Encode and Decode TinyURL| Medium - [ ] 536 Construct Binary Tree from String  |Medium - [ ] 537 Complex Number Multiplication| Medium - [x] 538 Convert BST to Greater Tree|Easy - [ ] 539 Minimum Time Difference|Medium - [x] 540 Single Element in a Sorted Array    Medium - [x] 541 Reverse String II | Easy - [x] 542 01 Matrix| Medium - [x] 543 Diameter of Binary Tree|Easy - [ ] 544 Output Contest Matches |Medium - [ ] 545 Boundary of Binary Tree  | Medium - [ ] 546 Remove Boxes    Hard - [ ] 547 Friend Circles| Medium - [ ] 548 Split Array with Equal Sum |Medium - [ ] 549 Binary Tree Longest Consecutive Sequence II  | Medium - [ ] 551 Student Attendance Record I|Easy - [ ] 552 Student Attendance Record II    Hard - [ ] 553 Optimal Division    Medium - [x] 554 Brick Wall | Medium - [ ] 555 Split Concatenated Strings |Medium - [x] 556 Next Greater Element III  |  Medium - [x] 557 Reverse Words in a String III| Easy - [x] 559 Maximum Depth of N-ary Tree | Easy - [ ] 560 Subarray Sum Equals K| Medium - [x] 561 Array Partition I| Easy - [ ] 562 Longest Line of Consecutive One in Matrix  |Medium - [x] 563 Binary Tree Tilt    Easy - [ ] 564 Find the Closest Palindrome|Hard - [x] 566 Reshape the Matrix| Easy - [ ] 567 Permutation in String| Medium - [ ] 568 Maximum Vacation Days  |Hard - [ ] 569 Median Employee Salary |Hard - [ ] 570 Managers with at Least 5 Direct Reports  | Medium - [ ] 571 Find Median Given Frequency of Numbers |Hard - [x] 572 Subtree of Another Tree|Easy - [ ] 573 Squirrel Simulation  | Medium - [ ] 574 Winning Candidate  |Medium - [ ] 575 Distribute Candies| Easy - [ ] 576 Out of Boundary Paths| Medium - [ ] 577 Employee Bonus |Easy - [ ] 578 Get Highest Answer Rate Question  | Medium - [ ] 579 Find Cumulative Salary of an Employee  |Hard - [ ] 580 Count Student Number in Departments  | Medium - [x] 581 Shortest Unsorted Continuous Subarray| Easy - [ ] 582 Kill Process  | Medium - [ ] 583 Delete Operation for Two Strings    Medium - [ ] 584 Find Customer Referee  |Easy - [ ] 585 Investments in 2016  | Medium - [ ] 586 Customer Placing the Largest Number of Orders  |Easy - [ ] 587 Erect the Fence|Hard - [ ] 588 Design In-Memory File System  | Hard - [x] 590 N-ary Tree Postorder Traversal | Easy - [ ] 591 Tag Validator| Hard - [ ] 592 Fraction Addition and Subtraction| Medium - [x] 593 Valid Square  |  Medium - [x] 594 Longest Harmonious Subsequence| Easy - [x] 595 Big Countries| Easy - [ ] 596 Classes More Than 5 Students    Easy - [ ] 597 Friend Requests I: Overall Acceptance Rate |Easy - [x] 598 Range Addition II| Easy - [x] 599 Minimum Index Sum of Two Lists| Easy - [ ] 600 Non-negative Integers without Consecutive Ones| Hard - [ ] 601 Human Traffic of Stadium    Hard - [ ] 602 Friend Requests II: Who Has the Most Friends  | Medium - [ ] 603 Consecutive Available Seats  | Easy - [ ] 604 Design Compressed String Iterator  |Easy - [ ] 605 Can Place Flowers| Easy - [x] 606 Construct String from Binary Tree| Easy - [ ] 607 Sales Person  | Easy - [ ] 608 Tree Node  |Medium - [ ] 609 Find Duplicate File in System| Medium - [ ] 610 Triangle Judgement  | Easy - [x] 611 Valid Triangle Number | Medium - [ ] 612 Shortest Distance in a Plane  | Medium - [ ] 613 Shortest Distance in a Line  | Easy - [ ] 614 Second Degree Follower |Medium - [ ] 615 Average Salary: Departments VS Company |Hard - [ ] 616 Add Bold Tag in String |Medium - [x] 617 Merge Two Binary Trees| Easy - [ ] 618 Students Report By Geography  | Hard - [ ] 619 Biggest Single Number  |Easy - [ ] 620 Not Boring Movies| Easy - [ ] 621 Task Scheduler| Medium - [x] 623 Add One Row to Tree|Medium - [ ] 624 Maximum Distance in Arrays |Easy - [ ] 625 Minimum Factorization  |Medium - [ ] 626 Exchange Seats| Medium - [x] 627 Swap Salary|Easy - [x] 628 Maximum Product of Three Numbers    Easy - [ ] 629 K Inverse Pairs Array| Hard - [x] 630 Course Schedule III | Hard | Greedy - [ ] 631 Design Excel Sum Formula  | Hard - [ ] 632 Smallest Range| Hard - [x] 633 Sum of Square Numbers| Easy - [ ] 634 Find the Derangement of An Array  | Medium - [ ] 635 Design Log Storage System  |Medium - [x] 636 Exclusive Time of Functions|Medium - [ ] 637 Average of Levels in Binary Tree    Easy - [ ] 638 Shopping Offers|Medium - [ ] 639 Decode Ways II| Hard - [x] 640 Solve the Equation | Medium - [x] 641 Design Circular Deque.md | Medium - [ ] 642 Design Search Autocomplete System  |Hard - [x] 643 Maximum Average Subarray I| Easy - [ ] 644 Maximum Average Subarray II  | Hard - [x] 645 Set Mismatch  |  Easy - [x] 646 Maximum Length of Pair Chain    Medium - [ ] 647 Palindromic Substrings| Medium - [ ] 648 Replace Words| Medium - [ ] 649 Dota2 Senate    Medium - [x] 650 2 Keys Keyboard | Medium - [ ] 651 4 Keys Keyboard  | Medium - [x] 652 Find Duplicate Subtrees | Medium - [x] 653 Two Sum IV - Input is a BST|Easy - [x] 654 Maximum Binary Tree|Medium - [ ] 655 Print Binary Tree | Medium - [ ] 656 Coin Path  |Hard - [x] 657 Judge Route Circle| Easy - [x] 658 Find K Closest Elements | Medium - [x] 659 Split Array into Consecutive Subsequences| Medium - [ ] 660 Remove 9  | Hard - [x] 661 Image Smoother| Easy - [ ] 662 Maximum Width of Binary Tree    Medium - [ ] 663 Equal Tree Partition  | Medium - [ ] 664 Strange Printer|Hard - [ ] 665 Non-decreasing Array    Easy - [ ] 666 Path Sum IV  | Medium - [ ] 667 Beautiful Arrangement II    Medium - [x] 668 Kth Smallest Number in Multiplication Table | Hard - [x] 669 Trim a Binary Search Tree| Easy - [x] 670 Maximum Swap    Medium - [x] 671 Second Minimum Node In a Binary Tree    Easy - [x] 672 Bulb Switcher II  |  Medium - [x] 673 Number of Longest Increasing Subsequence    Medium - [x] 674 Longest Continuous Increasing Subsequence| Easy - [ ] 675 Cut Off Trees for Golf Event    Hard - [ ] 676 Implement Magic Dictionary| Medium - [ ] 677 Map Sum Pairs| Medium - [x] 678 Valid Parenthesis String  | Medium - [ ] 679 24 Game|Hard - [x] 680 Valid Palindrome II|Easy - [ ] 681 Next Closest Time| Medium - [x] 682 Baseball Game| Easy - [ ] 683 K Empty Slots| Hard - [x] 684 Redundant Connection    Medium - [ ] 685 Redundant Connection II|Hard - [x] 686 Repeated String Match | Easy - [ ] 687 Longest Univalue Path | Easy - [x] 688 Knight Probability in Chessboard  |   Medium - [ ] 689 Maximum Sum of 3 Non-Overlapping Subarrays| Hard - [x] 690 Employee Importance|Easy - [ ] 691 Stickers to Spell Word| Hard - [x] 692 Top K Frequent Words  |  Medium - [ ] 693 Binary Number with Alternating Bits|Easy - [ ] 694 Number of Distinct Islands |Medium - [x] 695 Max Area of Island| Easy - [ ] 696 Count Binary Substrings|Easy - [ ] 697 Degree of an Array| Easy - [x] 698 Partition to K Equal Sum Subsets    Medium - [ ] 699 Falling Squares|Hard - [x] 703 Kth Largest Element in a Stream | Easy - [x] 704 Binary Search | Easy - [x] 705 Design HashSet | Easy - [x] 706. Design HashMap | Easy - [ ] 711 Number of Distinct Islands II  |Hard - [ ] 712 Minimum ASCII Delete Sum for Two Strings    Medium - [ ] 713 Subarray Product Less Than K    Medium - [ ] 714 Best Time to Buy and Sell Stock with Transaction Fee|Medium - [ ] 715 Range Module|Hard - [ ] 716 Max Stack|Hard - [ ] 717 1-bit and 2-bit Characters|Easy - [x] 718 Maximum Length of Repeated Subarray|Medium - [x] 719 Find K-th Smallest Pair Distance|Hard - [x] 720 Longest Word in Dictionary | Easy - [ ] 721 Accounts Merge|Medium - [ ] 722 Remove Comments|Medium - [ ] 723 Candy Crush|Medium - [x] 724 Find Pivot Index|Easy - [ ] 725 Split Linked List in Parts|Medium - [x] 726 Number of Atoms | Hard | Recursion - [ ] 727 Minimum Window Subsequence|Hard - [x] 728 Self Dividing Numbers|Easy - [x] 729 My Calendar I|Medium - [ ] 730 Count Different Palindromic Subsequences|Hard - [ ] 731 My Calendar II|Medium - [ ] 732 My Calendar III|Hard - [ ] 733 Flood Fill|Easy - [ ] 734 Sentence Similarity|Easy - [ ] 735 Asteroid Collision|Medium - [ ] 736 Parse Lisp Expression|Hard - [ ] 737 Sentence Similarity II|Medium - [ ] 738 Monotone Increasing Digits|Medium - [x] 739 Daily Temperatures|Medium - [x] 740 Delete and Earn|Medium - [ ] 741 Cherry Pickup|Hard - [ ] 742 Closest Leaf in a Binary Tree|Medium - [x] 743 Network Delay Time|Medium - [x] 744 Find Smallest Letter Greater Than Target|Easy - [ ] 745 Prefix and Suffix Search|Hard - [x] 746 Min Cost Climbing Stairs|Easy - [x] 747 Largest Number At Least Twice of Others|Easy - [ ] 748 Shortest Completing Word|Medium - [ ] 749 Contain Virus|Hard - [ ] 750 Number Of Corner Rectangles|Medium - [ ] 751 IP to CIDR|Easy - [ ] 752 Open the Lock|Medium - [x] 753 Cracking the Safe|Hard - [x] 754 Reach a Number | Easy - [ ] 755 Pour Water|Medium - [x] 756 Pyramid Transition Matrix |Medium - [ ] 757 Set Intersection Size At Least Two|Hard - [ ] 758 Bold Words in String|Easy - [ ] 759 Employee Free Time|Hard - [ ] 760 Find Anagram Mappings|Easy - [ ] 761 Special Binary String|Hard - [ ] 762 Prime Number of Set Bits in Binary Representation|Easy - [x] 763 Partition Labels | Medium - [ ] 764 Largest Plus Sign|Medium - [ ] 765 Couples Holding Hands|Hard - [x] 766 Toeplitz Matrix|Easy - [x] 767 Reorganize String|Medium - [x] 768 Max Chunks To Make Sorted II|Hard - [x] 769 Max Chunks To Make Sorted|Medium - [ ] 770 Basic Calculator IV|Hard - [x] 771 Jewels and Stones|Easy - [ ] 772 Basic Calculator III|Hard - [ ] 773 Sliding Puzzle|Hard - [ ] 774 Minimize Max Distance to Gas Station|Hard - [x] 775 Global and Local Inversions|Medium - [ ] 776 Split BST|Medium - [x] 777 Swap Adjacent in LR String|Medium - [ ] 778 Swim in Rising Water|Hard - [ ] 779 K-th Symbol in Grammar|Medium - [ ] 780 Reaching Points|Hard - [ ] 781 Rabbits in Forest|Medium - [ ] 782 Transform to Chessboard|Hard - [x] 783 Minimum Distance Between BST Nodes|Easy - [x] 784 Letter Case Permutation|Easy - [x] 785 Is Graph Bipartite?|Medium - [x] 786 K-th Smallest Prime Fraction | Hard - [x] 787 Cheapest Flights Within K Stops|Medium - [ ] 788 Rotated Digits    New Easy - [ ] 789 Escape The Ghosts    New Medium - [x] 790 Domino and Tromino Tiling | Medium | dp - [x] 791 Custom Sort String  |  Medium - [x] 792 Number of Matching Subsequences | Medium - [x] 793 Preimage Size of Factorial Zeroes Function | Hard - [x] 795 Number of Subarrays with Bounded Maximum | Medium - [x] 796 Rotate String|Easy - [x] 797 All Paths From Source to Target | Medium - [x] 802 Find Eventual Safe States | Medium - [x] 804 Unique Morse Code Words | Easy - [x] 805 Split Array With Same Average | Hard - [x] 806 Number of Lines To Write String | Easy - [x] 807 Max Increase to Keep City Skyline | Medium - [x] 808 Soup Servings | Medium - [x] 812 Largest Triangle Area | Easy - [x] 816 Ambiguous Coordinates | Medium - [x] 817 Linked List Components | Medium | HashSet - [x] 819 Most Common Word | Easy - [x] 820 Short Encoding of Words | Medium - [x] 821 Shortest Distance to a Character | Easy - [x] 824 Goat Latin | Easy - [x] 826 Most Profit Assigning Work|Medium - [x] 830 Positions of Large Groups | Easy - [x] 832 Flipping an Image | Easy - [x] 835 Image Overlap | Medium - [x] 836 Rectangle Overlap | Easy - [x] 837 New 21 Game | Medium - [x] 844 Backspace String Compare| Easy - [x] 845 Longest Mountain in Array | Medium - [x] 846 Hand of Straights | Medium - [x] 848 Shifting Letters | Medium - [x] 849 Maximize Distance to Closest Person | Easy - [x] 851 Loud and Rich | Medium - [x] 852 Peak Index in a Mountain Array|Easy - [x] 853 Car Fleet | Medium - [x] 856 Score of Parentheses | Medium - [x] 858 Mirror Reflection | Medium - [x] 859 Buddy Strings | Easy - [x] 860 Lemonade Change | Medium - [x] 861 Score After Flipping Matrix | Medium - [x] 863 All Nodes Distance K in Binary Tree | Medium - [x] 865 Smallest Subtree with all the Deepest Nodes | Medium - [x] 866 Prime Palindrome | Medium - [x] 867 Transpose Matrix | Easy - [x] 868 Binary Gap | Easy - [x] 869 Reordered Power of 2 | Medium - [x] 870 Advantage Shuffle | Medium - [x] 872 Leaf-Similar Trees | Easy - [x] 873 Length of Longest Fibonacci Subsequence | Medium - [x] 875 Koko Eating Bananas | Medium - [x] 876 Middle of the Linked List | Easy - [x] 877 Stone Game | Medium - [x] 878 Nth Magical Number | Hard - [x] 881 Boats to Save People | Medium - [x] 883 Projection Area of 3D Shapes | Easy - [x] 884 Uncommon Words from Two Sentences | Easy - [x] 885 Spiral Matrix III | Medium - [x] 896 Possible Bipartition | Medium - [x] 888 Fair Candy Swap | Easy - [x] 890 Find and Replace Pattern | Medium - [x] 892 Surface Area of 3D Shapes | Easy - [x] 893 Groups of Special-Equivalent Strings | Easy - [x] 894 All Possible Full Binary Trees | Medium - [x] 896 Monotonic Array | Easy - [x] 897 Increasing Order Search Tree | Easy - [x] 899 Orderly Queue | Hard - [x] 904 Fruit Into Baskets | Medium - [x] 905 Sort Array By Parity | Easy - [x] 908 Smallest Range I | Easy - [x] 919 Complete Binary Tree Inserter | Tree - [x] 910 Smallest Range II | Medium - [x] 911 Online Election | Medium - [x] 914 X of a Kind in a Deck of Cards | Easy - [x] 915 Partition Array into Disjoint Intervals | Medium - [x] 916 Word Subsets | Medium - [x] 917 Reverse Only Letters | Easy - [x] 918 Maximum Sum Circular Subarray | Medium - [x] 921 Minimum Add to Make Parentheses Valid | Medium - [x] 922 Sort Array By Parity II | Easy - [x] 923 3Sum With Multiplicity | Medium - [x] 925 Long Pressed Name | Easy - [x] 926 Flip String to Monotone Increasing | Medium - [x] 927 Three Equal Parts | Hard | - [x] 930 Binary Subarrays With Sum | Medium - [x] 931 Minimum Falling Path Sum | Medium | Dp - [x] 933 Number of Recent Calls | Easy - [x] 935 Knight Dialer | Medium - [x] 938 Range Sum of BST | Medium - [x] 941. Valid Mountain Array | Easy - [x] 942 DI String Match | Easy - [x] 944 Delete Columns to Make Sorted | Medium - [x] 946 Validate Stack Sequences | Medium - [x] 947 Most Stones Removed with Same Row or Column | Medium - [x] 949 Largest Time for Given Digits | Easy - [x] 950 Reveal Cards In Increasing Order | Medium - [x] 951 Flip Equivalent Binary Trees | Medium - [x] 953 Verifying an Alien Dictionary | Easy - [x] 954 Array of Doubled Pairs | Medium - [x] 955 Delete Columns to Make Sorted II | Medium - [x] 957 Prison Cells After N Days | Medium - [x] 960 Delete Columns to Make Sorted III | Hard - [x] 961 N-Repeated Element in Size 2N Array | Easy - [x] 965 Univalued Binary Tree | Easy - [x] 969 Pancake Sorting |Medium - [x] 970 Powerful Integers | Easy - [x] 973 K Closest Points to Origin | Easy - [x] 975 Odd Even Jump | Hard - [x] 976 Largest Perimeter Triangle | Easy - [x] 977 Squares of a Sorted Array | Easy - [x] 979 Distribute Coins in Binary Tree | Medium - [x] 983 Minimum Cost For Tickets | Medium - [x] 982 Triples with Bitwise AND Equal To Zero | Hard - [x] 984 String Without AAA or BBB | Easy - [x] 985 Sum of Even Numbers After Queries | Easy - [x] 986 Interval List Intersections | Medium - [x] 988 Smallest String Starting From Leaf | Medium - [x] 987 Vertical Order Traversal of a Binary Tree | Medium - [x] 993 Cousins in Binary Tree | Easy - [x] 994 Rotting Oranges | Easy | BFS - [x] 995 Minimum Number of K Consecutive Bit Flips | Medium - [x] 997 Find the Town Judge | Easy - [x] 998 Maximum Binary Tree II | Medium - [x] 1002 Find Common Characters | Easy - [x] 1003 Check If Word Is Valid After Substitutions | Medium - [x] 1004 Max Consecutive Ones III | Medium - [x] 1005 Maximize Sum Of Array After K Negations | Easy - [x] 1006 Clumsy Factorial | Medium - [x] 1008 Construct Binary Search Tree from Preorder Traversal | Medium - [x] 1010 Pairs of Songs With Total Durations Divisible by 60 | Easy - [x] 1016 Binary String With Substrings Representing 1 To N | Medium - [x] 1017 Convert to Base -2 | Medium - [x] 1018 Binary Prefix Divisible By 5 | Easy - [x] 1021 Remove Outermost Parentheses | Easy | Stack - [x] 1022 Sum of Root To Leaf Binary Numbers | Easy - [x] 1025 Divisor Game | Easy - [x] 1029 Two City Scheduling | Easy - [x] 1031 Maximum Sum of Two Non-Overlapping Subarrays | Medium - [x] 1035 Uncrossed Lines | Medium - [x] 1041 Robot Bounded In Circle | Easy - [x] 1043 Partition Array for Maximum Sum | Medium - [x] 1046 Last Stone Weight | Easy | PriorityQueue - [x] 1047 Remove All Adjacent Duplicates In String | Easy | Stack - [x] 1048. Longest String Chain | Medium | dp - [x] 1051 Height Checker | Easy - [x] 1052 Grumpy Bookstore Owner | Medium - [x] 1053 Previous Permutation With One Swap | Medium - [x] 1071 Greatest Common Divisor of Strings | Easy - [x] 1081 Smallest Subsequence of Distinct Characters | Medium - [x] 1089 Duplicate Zeros | Easy - [x] 1090 Largest Values From Labels | Medium | greedy - [x] 1091 Shortest Path in Binary Matrix | Medium | BFS - [x] 1092 Shortest Common Supersequence | Hard | Dp - [x] 1103 Distribute Candies to People | Easy - [x] 1104 Path In Zigzag Labelled Binary Tree - [x] 1108 Defanging an IP Address | Easy - [x] 1110 Delete Nodes And Return Forest | Medium | Tree - [x] 1111 Maximum Nesting Depth of Two Valid Parentheses Strings | Medium - [x] 1114 Print in Order | Easy| MultiThread - [x] 1128 Number of Equivalent Domino Pairs | Easy - [x] 1154 Day of the Year | Easy - [x] 1161 Maximum Level Sum of a Binary Tree | Medium | Tree - [x] 5083 Occurrences After Bigram | Easy - [x] 5084 Insufficient Nodes in Root to Leaf Paths | Medium | Tree - [x] 5087 Letter Tile Possibilities | Medium