| # | 名称 | 结构 | 额外 |
|---|---|---|---|
| 1 | 数组 | Array GenericArray | |
| 2 | 链表 | ListNode SinglyLinkedList | LRUBaseLinkedList LRUBasedArray LinkedListAlgo |
| 3 | 栈 | SampleBrowser StackBasedOnLinkedList | |
| 4 | 队列 | ArrayQueue CircularQueue DynamicArrayQueue QueueBasedLinkedList | |
| 5 | 跳表 | SkipList | |
| 6 | 哈希表 | Hashtable | |
| 7 | 二叉树 | TreeNode | |
| 8 | 图 | Graph |
| # | 名称 | 示例 | 测试 |
|---|---|---|---|
| 1 | 递归 | RecursiveExample | |
| 2 | 排序 | BubbleSort InsertionSort SelectionSort MergeSort QuickSort | |
| 3 | 二分查找 | BinarySearch | BinarySearchTest |
| 4 | 哈希 | Hashing |
| # | Title | Category | Difficulty | Code | Test |
|---|---|---|---|---|---|
| 0001 | Two sum | Algorithm | Easy | Java | Test |
| 0002 | Add Two Numbers | Algorithm | Medium | Java | Test |
| 0003 | Longest Substring without Repeating Characters | Algorithm | Medium | Java | Test |
| 0006 | ZigZag Conversion | Algorithm | Medium | Java | Test |
| 0007 | Reverse Integer | Algorithm | Easy | Java | Test |
| 0011 | Container With Most Water | Algorithm | Medium | Java | Test |
| 0015 | 3Sum | Algorithm | Medium | Java | Test |
| 0016 | 3Sum Closest | Algorithm | Medium | Java | Test |
| 0018 | 4Sum | Algorithm | Medium | Java | Test |
| 0019 | Remove Nth Node From End of List | Algorithm | Medium | Java | Test |
| 0020 | Valid Parentheses | Algorithm | Easy | Java | Test |
| 0021 | Merge Two Sorted Lists | Algorithm | Easy | Java | Test |
| 0024 | Swap Nodes in Pairs | Algorithm | Java | Test | |
| 0026 | Remove Duplicates from Sorted Array | Algorithm | Easy | Java | Test |
| 0027 | Remove Element | Algorithm | Easy | Java | Test |
| 0031 | Next Permutation | Algorithm | Medium | Java | Test |
| 0046 | Permutations | Algorithm | Medium | Java | Test |
| 0047 | Permutations II | Algorithm | Medium | Java | Test |
| 0049 | Group Anagrams | Algorithm | Medium | Java | Test |
| 0075 | Sort Colors | Algorithm | Medium | Java | Test |
| 0076 | Minimum Window Substring | Algorithm | Hard | Java | Test |
| 0080 | Remove Duplicates from Sorted Array II | Algorithm | Medium | Java | Test |
| 0082 | Remove Duplicates from Sorted List II | Algorithm | Medium | Java | Test |
| 0083 | Remove Duplicates from Sorted List | Algorithm | Easy | Java | Test |
| 0086 | Partition List | Algorithm | Medium | Java | Test |
| 0088 | Merge Sorted Array | Algorithm | Easy | Java | Test |
| 0092 | Reverse Linked List II | Algorithm | Medium | Java | Test |
| 0098 | Validate Binary Search Tree | Algorithm | Medium | Java | Test |
| 0101 | Symmetric Tree | Algorithm | Easy | Java | Test |
| 0108 | Convert Sorted Array to Binary Search Tree | Algorithm | Easy | Java | Test |
| 0110 | Balanced Binary tree | Algorithm | Easy | Java | Test |
| 0112 | Path Sum | Algorithm | Easy | Java | Test |
| 0113 | Path Sum II | Algorithm | Medium | Java | Test |
| 0120 | Triangle | Algorithm | Medium | Java | Test |
| 0125 | Valid Palindrome | Algorithm | Easy | Java | Test |
| 0129 | Sum Root to Leaf Numbers | Algorithm | Medium | Java | Test |
| 0149 | Max Points on a Line | Algorithm | Difficult | Java | Test |
| 0153 | Find Minimum in Rotated Sorted Array | Algorithm | Medium | Java | Test |
| 0154 | Find Minimum in Rotated Sorted Array | Algorithm | Difficult | Java | Test |
| 0167 | Two sum II - Input array is sorted | Algorithm | Easy | Java | Test |
| 0202 | Happy Number | Algorithm | Easy | Java | Test |
| 0203 | Remove Linked List Elements | Algorithm | Easy | Java | Test |
| 0205 | Isomorphic Strings | Algorithm | Easy | Java | Test |
| 0206 | Reverse Linked List | Algorithm | Easy | Java | Test |
| 0209 | Minimum Size Subarray Sum | Algorithm | Medium | Java | Test |
| 0215 | Kth Largest Element in an Array | Algorithm | Medium | Java | Test |
| 0217 | Contains Duplicate | Algorithm | Easy | Java | Test |
| 0219 | Contains Duplicate II | Algorithm | Easy | Java | Test |
| 0220 | Contains Duplicate III | Algorithm | Medium | Java | Test |
| 0222 | Count Complete Tree Nodes | Algorithm | Medium | Java | Test |
| 0225 | Implement Stack Using Queues | Algorithm | Easy | Java | Test |
| 0226 | Invert Binary Tree | Algorithm | Easy | Java | Test |
| 0235 | Lowest Common Ancestor of a Binary Search Tree | Java | Test | ||
| 0236 | Lowest Common Ancestor of a Binary Tree | Algorithm | Medium | java | Test |
| 0242 | Valid Anagram | Algorithm | Easy | Java | Test |
| 0257 | Binary Tree Paths | Algorithm | Easy | Java | Test |
| 0283 | Move Zeroes | Algorithm | Easy | java | Test |
| 0290 | Word Pattern | Algorithm | Easy | Java | Test |
| 0328 | Odd Even Linked List | Algorithm | Medium | Java | Test |
| 0344 | Reverse String | Algorithm | Easy | Java | Test |
| 0345 | Reverse Vowels of a String | Algorithm | Easy | Java | Test |
| 0349 | Intersection of Two Arrays | Algorithm | Easy | Java | Test |
| 0350 | Intersection of Two Arrays II | Algorithm | Easy | Java | Test |
| 0404 | Sum of Left Leaves | Algorithm | Easy | Java | Test |
| 0437 | Path sum III | Algorithm | Easy | Java | Test |
| 0438 | Find All Anagrams in a String | Algorithm | Medium | Java | Test |
| 0442 | Find All Duplicates in an Array | Algorithm | Medium | Java | Test |
| 0445 | Add Two Numbers II | Algorithm | Medium | Java | Test |
| 0447 | Number of Boomerangs | Algorithm | Easy | Java | Test |
| 0451 | Sort Characters By Frequency | Algorithm | Medium | Java | Test |
| 0454 | 4Sum II | Algorithm | Medium | Java | Test |
| 0566 | Reshape the Matrix | Algorithm | Easy | Java | Test |
| 0717 | 1-bit and 2-bit Characters | Algorithm | Easy | Java | Test |
| 0962 | Maximum Width Ramp | Algorithm | Medium | Java | Test |
| 0978 | Longest Turbulent Subarray | Algorithm | Medium | Java | Test |
| 1053 | Previous permutation With One Swap | Algorithm | Medium | java | Test |
| # | Title | Category | Code | Test |
|---|---|---|---|---|
| 4 | 二维数组中的查找 | 数组 | Java | Test |
| 5 | 替换空格 | 字符串 | Java | Test |
| 6 | 从尾到头打印链表 | 链表 | Java | Test |
| # | Title | Category | Code |
|---|---|---|---|
| 8.1 | Triple Step | Recursion and Dynamic Programming | Java |
| 8.2 | Robot in a Grid | Recursion and Dynamic Programming | Java |
| 8.3 | Magic Index | Recursion and Dynamic Programming | Java |
| 8.4 | Power Set | Recursion and Dynamic Programming | Java |
| 8.5 | Recursive Multiply | Recursion and Dynamic Programming | Java |
| 8.6 | Towers of Hanoi | Recursion and Dynamic Programming | Java |
| 8.7 | Permutations without Dups | Recursion and Dynamic Programming | Java |
| 8.8 | Permutations with Dups | Recursion and Dynamic Programming | Java |
| 8.9 | Parens | Recursion and Dynamic Programming | Java |
| 8.11 | Coins | Recursion and Dynamic Programming | Java |
| 8.12 | Eight Queens | Recursion and Dynamic Programming | Java |