.
├── img
│ ├── clone-fork-doocs-leetcode.jpg
│ ├── create-pull-request.png
│ ├── dev-pull-request.png
│ ├── email-of-pull-request.jpg
│ ├── hardcore-forking-yanglbme - 2.gif
│ ├── hardcore-forking-yanglbme.gif
│ ├── histogram_area.png
│ ├── histogram.png
│ ├── how-to-contribute-yanglbme.png
│ ├── leetcode-github-yanglbme.png
│ ├── random-list.png
│ ├── random-list-step1.png
│ ├── random-list-step2.png
│ ├── random-list-step3.png
│ └── robot_maze.png
├── LICENSE
├── README.md
├── solution
│ ├── 0001.Two Sum
│ │ ├── README.md
│ │ ├── Solution2.js
│ │ ├── Solution2.py
│ │ ├── Solution.cpp
│ │ ├── Solution.go
│ │ ├── Solution.java
│ │ ├── Solution.js
│ │ ├── Solution.py
│ │ ├── Solution.rb
│ │ └── Solution.scala
│ ├── 0002.Add Two Numbers
│ │ ├── README.md
│ │ ├── Solution.cpp
│ │ ├── Solution.java
│ │ ├── Solution.js
│ │ ├── Solution.py
│ │ └── Solution.rb
│ ├── 0003.Longest Substring Without Repeating Characters
│ │ ├── README.md
│ │ └── Solution.java
│ ├── 0004.Median of Two Sorted Arrays
│ │ ├── README.md
│ │ ├── Solution.cpp
│ │ └── Solution.java
│ ├── 0005.Longest Palindromic Substring
│ │ ├── README.md
│ │ └── Solution.java
│ ├── 0006.ZigZag Conversion
│ │ ├── Solution.cpp
│ │ └── Solution.java
│ ├── 0007.Reverse Integer
│ │ ├── README.md
│ │ ├── Solution2.py
│ │ ├── Solution.java
│ │ ├── Solution.js
│ │ ├── Solution.py
│ │ └── Solution.rb
│ ├── 0008.String to Integer(atoi)
│ │ ├── Solution.java
│ │ ├── Solution.js
│ │ └── Solution.py
│ ├── 0009.Palindrome Number
│ │ ├── README.md
│ │ ├── Solution.java
│ │ └── Solution.py
│ ├── 0010.Regular Expression Matching
│ │ └── Solution.java
│ ├── 0011.Container With Most Water
│ │ ├── Solution.java
│ │ └── Solution.js
│ ├── 0012.Integer to Roman
│ │ └── Solution.java
│ ├── 0013.Roman to Integer
│ │ ├── README.md
│ │ ├── Solution2.py
│ │ ├── Solution.java
│ │ ├── Solution.js
│ │ ├── Solution.py
│ │ └── Solution.rb
│ ├── 0014.Longest Common Prefix
│ │ ├── README.md
│ │ ├── Solution2.py
│ │ ├── Solution.cpp
│ │ ├── Solution.java
│ │ ├── Solution.js
│ │ ├── Solution.py
│ │ └── Solution.rb
│ ├── 0015.3Sum
│ │ ├── README.md
│ │ ├── solution.cpp
│ │ ├── Solution.cpp
│ │ ├── Solution.java
│ │ ├── Solution.py
│ │ └── Solution.rb
│ ├── 0016.3Sum Closest
│ │ └── Solution.java
│ ├── 0017.Letter Combinations of a Phone Number
│ │ └── Solution.java
│ ├── 0018.4Sum
│ │ ├── README.md
│ │ ├── Solution.cpp
│ │ └── Solution.java
│ ├── 0019.Remove Nth Node From End of List
│ │ ├── README.md
│ │ ├── Solution.cpp
│ │ ├── Solution.java
│ │ ├── Solution.js
│ │ ├── Solution.py
│ │ └── Solution.rb
│ ├── 0020.Valid Parentheses
│ │ ├── README.md
│ │ ├── Solution2.py
│ │ ├── Solution.cpp
│ │ ├── Solution.java
│ │ ├── Solution.js
│ │ ├── Solution.py
│ │ └── Solution.rb
│ ├── 0021.Merge Two Sorted Lists
│ │ ├── README.md
│ │ ├── Solution.cpp
│ │ ├── Solution.java
│ │ ├── Solution.js
│ │ ├── Solution.py
│ │ └── Solution.rb
│ ├── 0022.Generate Parentheses
│ │ └── Solution.java
│ ├── 0023.Merge k Sorted Lists
│ │ ├── README.md
│ │ ├── Solution.cpp
│ │ ├── Solution.java
│ │ ├── Solution.py
│ │ └── Solution.rb
│ ├── 0024.Swap Nodes in Pairs
│ │ ├── README.md
│ │ ├── Solution.cpp
│ │ ├── Solution.java
│ │ ├── Solution.py
│ │ └── Solution.rb
│ ├── 0025.Reverse Nodes in k-Group
│ │ ├── README.md
│ │ └── Solution.java
│ ├── 0026.Remove Duplicates from Sorted Array
│ │ ├── README.md
│ │ ├── Solution.java
│ │ ├── Solution.js
│ │ └── Solution.py
│ ├── 0027.Remove Element
│ │ ├── README.md
│ │ ├── Solution.cpp
│ │ ├── Solution.java
│ │ └── Solution.py
│ ├── 0028.Implement strStr()
│ │ ├── README.md
│ │ ├── Solution.cpp
│ │ ├── Solution.java
│ │ └── Solution.py
│ ├── 0029.Divide Two Integers
│ │ ├── README.md
│ │ └── Solution.java
│ ├── 0030.Substring with Concatenation of All Words
│ │ ├── README.md
│ │ └── Solution.java
│ ├── 0031.Next Permutation
│ │ ├── README.md
│ │ ├── Solution.cpp
│ │ └── Solution.java
│ ├── 0032.Longest Valid Parentheses
│ │ ├── README.md
│ │ ├── Solution.java
│ │ └── Solution.py
│ ├── 0033.Search in Rotated Sorted Array
│ │ ├── README.md
│ │ ├── Solution.cpp
│ │ └── Solution.java
│ ├── 0034.Find First and Last Position of Element in Sorted Array
│ │ ├── README.md
│ │ ├── Solution.cpp
│ │ └── Solution.java
│ ├── 0035.Search Insert Position
│ │ ├── README.md
│ │ ├── Solution.cpp
│ │ ├── Solution.java
│ │ └── Solution.py
│ ├── 0036.Valid Sudoku
│ │ ├── Solution.java
│ │ └── Solution.js
│ ├── 0037.Sudoku Solver
│ │ └── Solution.java
│ ├── 0038.Count and Say
│ │ ├── Solution.java
│ │ ├── Solution.js
│ │ └── Solution.py
│ ├── 0039.Combination Sum
│ │ ├── README.md
│ │ ├── Solution.cpp
│ │ └── Solution.java
│ ├── 0040.Combination Sum II
│ │ ├── README.md
│ │ ├── Solution.cpp
│ │ └── Solution.java
│ ├── 0041.First Missing Positive
│ │ ├── README.md
│ │ ├── Solution.c
│ │ ├── Solution.cpp
│ │ ├── Solution.java
│ │ └── Solution.py
│ ├── 0042.Trapping Rain Water
│ │ ├── README.md
│ │ ├── Solution.cpp
│ │ └── Solution.java
│ ├── 0043.Multiply Strings
│ │ └── Solution.java
│ ├── 0044.Wildcard Matching
│ │ └── Solution.java
│ ├── 0045.Jump Game II
│ │ └── Solution.java
│ ├── 0046.Permutations
│ │ ├── README.md
│ │ ├── Solution.cpp
│ │ ├── Solution.java
│ │ └── Solution.py
│ ├── 0047.Permutations II
│ │ ├── README.md
│ │ ├── Solution.cpp
│ │ ├── Solution.java
│ │ └── Solution.py
│ ├── 0048.Rotate Image
│ │ ├── README.md
│ │ ├── Solution.cpp
│ │ ├── Solution.java
│ │ └── Solution.js
│ ├── 0049.Group Anagrams
│ │ └── Solution.java
│ ├── 0050.Pow(x, n)
│ │ └── Solution.java
│ ├── 0053.Maximum Subarray
│ │ ├── README.md
│ │ ├── Solution.java
│ │ ├── Solution.js
│ │ └── Solution.py
│ ├── 0054.Spiral Matrix
│ │ ├── README.md
│ │ ├── Solution.cpp
│ │ ├── Solution.java
│ │ └── Solution.py
│ ├── 0056.Merge Intervals
│ │ ├── README.md
│ │ └── Solution.cpp
│ ├── 0057.Insert Interval
│ │ └── Solution.cpp
│ ├── 0059.Spiral Matrix II
│ │ ├── README.md
│ │ ├── Solution.cpp
│ │ └── Solution.java
│ ├── 0061.Rotate List
│ │ ├── README.md
│ │ └── Solution.java
│ ├── 0062.Unique Paths
│ │ ├── README.md
│ │ ├── Solution.cpp
│ │ ├── Solution.java
│ │ └── Solution.py
│ ├── 0063.Unique Paths II
│ │ ├── README.md
│ │ ├── Solution.java
│ │ └── Solution.py
│ ├── 0064.Minimum Path Sum
│ │ ├── README.md
│ │ └── Solution.cpp
│ ├── 0066.Plus One
│ │ ├── README.md
│ │ ├── Solution2.py
│ │ ├── Solution.cpp
│ │ ├── Solution.js
│ │ └── Solution.py
│ ├── 0069.Sqrt(x)
│ │ ├── README.md
│ │ ├── Solution2.py
│ │ └── Solution.py
│ ├── 0070.Climbing Stairs
│ │ ├── README.md
│ │ ├── Solution.cpp
│ │ ├── Solution.java
│ │ ├── Solution.js
│ │ └── Solution.py
│ ├── 0073.Set Matrix Zeroes
│ │ ├── README.md
│ │ └── Solution.cpp
│ ├── 0074.Search a 2D Matrix
│ │ ├── README.md
│ │ └── Solution.cpp
│ ├── 0075.Sort Colors
│ │ ├── README.md
│ │ ├── Solution2.py
│ │ ├── Solution.cpp
│ │ ├── Solution.java
│ │ └── Solution.py
│ ├── 0080.Remove Duplicates from Sorted Array II
│ │ ├── README.md
│ │ └── Solution.cpp
│ ├── 0082.Remove Duplicates from Sorted List II
│ │ ├── README.md
│ │ ├── Solution.java
│ │ └── Solution.py
│ ├── 0083.Remove Duplicates from Sorted List
│ │ ├── README.md
│ │ ├── Solution.java
│ │ └── Solution.py
│ ├── 0084.Largest Rectangle in Histogram
│ │ ├── README.md
│ │ ├── Solution.cpp
│ │ └── Solution.java
│ ├── 0086.Partition List
│ │ ├── README.md
│ │ ├── Solution.java
│ │ └── Solution.py
│ ├── 0088.Merge Sorted Array
│ │ └── Solution.js
│ ├── 0090.Subsets II
│ │ ├── README.md
│ │ └── Solution.cpp
│ ├── 0092.Reverse Linked List II
│ │ ├── README.md
│ │ └── Solution.java
│ ├── 0094.Binary Tree Inorder Traversal
│ │ ├── README.md
│ │ └── Solution.java
│ ├── 0096.Unique Binary Search Trees
│ │ ├── README.md
│ │ └── Solution.java
│ ├── 0102.Binary Tree Level Order Traversal
│ │ ├── README.md
│ │ └── Solution.java
│ ├── 0105.Construct Binary Tree from Preorder and Inorder Traversal
│ │ ├── README.md
│ │ └── Solution.cpp
│ ├── 0112.Path Sum
│ │ ├── README.md
│ │ └── Solution.cpp
│ ├── 0118.Pascal's Triangle
│ │ ├── README.md
│ │ ├── Solution.cpp
│ │ └── Solution.js
│ ├── 0119.Pascal's Triangle II
│ │ ├── README.md
│ │ └── Solution.cpp
│ ├── 0120.Triangle
│ │ ├── README.md
│ │ └── Solution.cpp
│ ├── 0121.Best Time to Buy and Sell Stock
│ │ └── Solution.js
│ ├── 0122.Best Time to Buy and Sell Stock II
│ │ ├── Solution.cpp
│ │ └── Solution.js
│ ├── 0123.Best Time to Buy and Sell Stock III
│ │ ├── README.md
│ │ └── Solution.cpp
│ ├── 0125.Valid Palindrome
│ │ └── Solution.js
│ ├── 0127.Word Ladder
│ │ ├── README.md
│ │ └── Solution.java
│ ├── 0130.Surrounded Regions
│ │ ├── README.md
│ │ └── Solution.java
│ ├── 0136.Single Number
│ │ ├── README.md
│ │ ├── Solution.java
│ │ ├── Solution.js
│ │ └── Solution.py
│ ├── 0137.Single Number II
│ │ ├── README.md
│ │ ├── Solution.java
│ │ └── Solution.py
│ ├── 0138.Copy List with Random Pointer
│ │ ├── README.md
│ │ └── Solution.java
│ ├── 0141.Linked List Cycle
│ │ ├── README.md
│ │ └── Solution.java
│ ├── 0142.Linked List Cycle II
│ │ ├── README.md
│ │ ├── Solution.cpp
│ │ └── Solution.java
│ ├── 0143.Reorder List
│ │ ├── README.md
│ │ └── Solution.java
│ ├── 0144.Binary Tree Preorder Traversal
│ │ ├── README.md
│ │ └── Solution.java
│ ├── 0145.Binary Tree Postorder Traversal
│ │ ├── README.md
│ │ └── Solution.java
│ ├── 0146.Lru Cache
│ │ ├── README.md
│ │ └── Solution.java
│ ├── 0150.Evaluate Reverse Polish Notation
│ │ ├── README.md
│ │ ├── Solution.java
│ │ └── Solution.py
│ ├── 0153.Find Minimum in Rotated Sorted Array
│ │ ├── README.md
│ │ ├── Solution.java
│ │ └── Solution.py
│ ├── 0155.Min Stack
│ │ ├── README.md
│ │ ├── Solution.java
│ │ └── Solution.js
│ ├── 0160.Intersection of Two Linked Lists
│ │ ├── README.md
│ │ └── Solution.java
│ ├── 0167.Two Sum II - Input array is sorted
│ │ └── Solution.cpp
│ ├── 0172.Factorial Trailing Zeroes
│ │ └── Solution.cpp
│ ├── 0175.Combine Two Tables
│ │ └── README.md
│ ├── 0176.Second Highest Salary
│ │ └── README.md
│ ├── 0177.Nth Highest Salary
│ │ └── README.md
│ ├── 0178.Rank Scores
│ │ └── README.md
│ ├── 0180.Consecutive Numbers
│ │ └── README.md
│ ├── 0181.Employees Earning More Than Their Managers
│ │ └── README.md
│ ├── 0182.Duplicate Emails
│ │ └── README.md
│ ├── 0183.Customers Who Never Order
│ │ └── README.md
│ ├── 0184.Department Highest Salary
│ │ └── README.md
│ ├── 0189.Rotate Array
│ │ ├── README.md
│ │ └── Solution.java
│ ├── 0190.Reverse Bits
│ │ ├── Solution.cpp
│ │ └── Solution.js
│ ├── 0191.Number of 1 Bits
│ │ └── Solution.js
│ ├── 0196.Delete Duplicate Emails
│ │ └── README.md
│ ├── 0197.Rising Temperature
│ │ └── README.md
│ ├── 0198.House Robber
│ │ ├── README.md
│ │ ├── Solution.cpp
│ │ ├── Solution.java
│ │ └── Solution.py
│ ├── 0200.Number of Islands
│ │ ├── README.md
│ │ └── Solution.py
│ ├── 0203.Remove Linked List Elements
│ │ ├── README.md
│ │ ├── Solution.java
│ │ └── Solution.py
│ ├── 0204.Count Primes
│ │ └── Solution.js
│ ├── 0206.Reverse Linked List
│ │ └── Solution.js
│ ├── 0217.Contains Duplicate
│ │ └── Solution.js
│ ├── 0228.Summary Ranges
│ │ ├── README.md
│ │ └── Solution.cpp
│ ├── 0231.Power of Two
│ │ ├── README.md
│ │ ├── Solution.java
│ │ └── Solution.py
│ ├── 0234.Palindrome Linked List
│ │ ├── README.md
│ │ └── Solution.java
│ ├── 0235.Lowest Common Ancestor of a Binary Search Tree
│ │ ├── README.md
│ │ └── Solution.java
│ ├── 0237.Delete Node in a Linked List
│ │ ├── README.md
│ │ ├── Solution.java
│ │ ├── Solution.js
│ │ └── Solution.py
│ ├── 0242.Valid Anagram
│ │ └── Solution.js
│ ├── 0268.Missing Number
│ │ └── Solution.js
│ ├── 0278.First Bad Version
│ │ └── Solution.js
│ ├── 0283.Move Zeroes
│ │ ├── README.md
│ │ ├── Solution.cpp
│ │ └── Solution.js
│ ├── 0295.Find Median from Data Stream
│ │ ├── README.md
│ │ └── Solution.java
│ ├── 0312.Burst Balloons
│ │ ├── README.md
│ │ └── Solution.java
│ ├── 0318.Maximum Product of Word Lengths
│ │ └── Solution.cpp
│ ├── 0326.Power of Three
│ │ └── Solution.js
│ ├── 0328.Odd Even Linked List
│ │ ├── README.md
│ │ └── Solution.java
│ ├── 0343.Integer Break
│ │ ├── README.md
│ │ └── Solution.java
│ ├── 0344.Reverse String
│ │ ├── README.md
│ │ ├── Solution.java
│ │ ├── Solution.js
│ │ └── Solution.py
│ ├── 0350.Intersection of Two Arrays II
│ │ └── Solution.js
│ ├── 0384.Shuffle an Array
│ │ └── Solution.js
│ ├── 0387.First Unique Character in a String
│ │ ├── Solution.cpp
│ │ └── Solution.js
│ ├── 0412.Fizz Buzz
│ │ ├── Solution.cpp
│ │ ├── Solution.js
│ │ └── Solution.py
│ ├── 0427.Construct Quad Tree
│ │ └── Solution.cpp
│ ├── 0434.Number of Segments in a String
│ │ └── Solution.cpp
│ ├── 0438.Find All Anagrams in a String
│ │ └── Solution.cpp
│ ├── 0443.String Compression
│ │ └── Solution.cpp
│ ├── 0448.Find All Numbers Disappeared in an Array
│ │ ├── README.md
│ │ └── Solution.cpp
│ ├── 0461.Hamming Distance
│ │ └── Solution.js
│ ├── 0581.Shortest Unsorted Continuous Subarray
│ │ ├── README.md
│ │ ├── Solution.cpp
│ │ └── Solution.java
│ ├── 0595.Big Countries
│ │ └── README.md
│ ├── 0596.Classes More Than 5 Students
│ │ └── README.md
│ ├── 0605.Can Place Flowers
│ │ ├── README.md
│ │ ├── Solution.cpp
│ │ ├── Solution.java
│ │ └── Solution.py
│ ├── 0620.Not Boring Movies
│ │ └── README.md
│ ├── 0627.Swap Salary
│ │ └── README.md
│ ├── 0670.Maximum Swap
│ │ ├── README.md
│ │ └── Solution.py
│ ├── 0695.Max Area of Island
│ │ ├── README.md
│ │ ├── Solution.cpp
│ │ └── Solution.java
│ ├── 0701.Insert into a Binary Search Tree
│ │ ├── README.md
│ │ └── Solution.py
│ ├── 0703.Kth Largest Element in a Stream
│ │ ├── README.md
│ │ └── Solution.java
│ ├── 0707.Design Linked List
│ │ ├── README.md
│ │ └── Solution.java
│ ├── 0789.Escape The Ghosts
│ │ ├── README.md
│ │ └── Solution.py
│ ├── 0817.Linked List Components
│ │ ├── README.md
│ │ ├── Solution.java
│ │ └── Solution.py
│ ├── 0836.Rectangle Overlap
│ │ └── Solution.cpp
│ ├── 0874.Walking Robot Simulation
│ │ └── Solution.cpp
│ ├── 0876.Middle of the Linked List
│ │ ├── README.md
│ │ ├── Solution.java
│ │ └── Solution.py
│ ├── 0889.Construct Binary Tree from Preorder and Postorder Traversal
│ │ ├── README.md
│ │ └── Solution.py
│ ├── 0926.Flip String to Monotone Increasing
│ │ └── Solution.js
│ ├── 0929.Unique Email Addresses
│ │ └── Solution.js
│ ├── 0930.Binary Subarrays With Sum
│ │ └── Solution.js
│ └── 0938.Range Sum of BST
│ ├── README.md
│ ├── Solution.java
│ └── Solution.py
└── SOLUTION_TREE.md