Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/chenxiaoyao6228/leetcode-js

Leetcode solutions and summaries with Javascript
https://github.com/chenxiaoyao6228/leetcode-js

algorithms data-structures frontend interview javascript js leetcode leetcode-solutions

Last synced: about 18 hours ago
JSON representation

Leetcode solutions and summaries with Javascript

Awesome Lists containing this project

README

        

# Leetcode-js

Leetcode solutions in Javascript. All JavaScript codes are written in ECMAScript 6 standard. Some questions may include more than one solution.

## Debugging
For local debugging purposes, some questions also provide `test cases` with `Jest`, If you are using `Vscode`, I suggest you install [Vitest](https://marketplace.visualstudio.com/items?itemName=ZixuanChen.vitest-explorer) and [Vitest runner](https://marketplace.visualstudio.com/items?itemName=kingwl.vscode-vitest-runner) and go to the corresponding test case. You can also call the function directly in the question file and hit the `Run and Debug` Button on the sidebar and select `Debug currentFile` option to start debugging.

## Table of solutions
Total Submit: **159**/**300(Goal)**
| ID | Title | Difficulty | Solutions | Test Case | Explanation |
| --- | ------ | ------ | ----- | -----| -----|
| 1 | Two Sum([en](https://leetcode.com/problems/two-sum), [cn](https://leetcode.cn/problems/two-sum)) | Easy | [Javascript](./src/1.两数之和.js) | [test](./src/1.两数之和.test.js) |
| 3 | Longest Substring Without Repeating Characters([en](https://leetcode.com/problems/longest-substring-without-repeating-characters), [cn](https://leetcode.cn/problems/longest-substring-without-repeating-characters)) | Medium | [Javascript](./src/3.无重复字符的最长子串.js) | [test](./src/3.无重复字符的最长子串.test.js) |
| 4 | Median of Two Sorted Arrays([en](https://leetcode.com/problems/median-of-two-sorted-arrays), [cn](https://leetcode.cn/problems/median-of-two-sorted-arrays)) | Hard | [Javascript](./src/4.median-of-two-sorted-arrays.js) | [test](./src/4.median-of-two-sorted-arrays.test.js) |
| 5 | Longest Palindromic Substring([en](https://leetcode.com/problems/longest-palindromic-substring), [cn](https://leetcode.cn/problems/longest-palindromic-substring)) | Medium | [Javascript](./src/5.最长回文子串.js) | [test](./src/5.最长回文子串.test.js) |
| 7 | Reverse Integer([en](https://leetcode.com/problems/reverse-integer), [cn](https://leetcode.cn/problems/reverse-integer)) | Medium | [Javascript](./src/7.reverse-integer.js) | [test](./src/7.reverse-integer.test.js) |
| 11 | Container With Most Water([en](https://leetcode.com/problems/container-with-most-water), [cn](https://leetcode.cn/problems/container-with-most-water)) | Medium | [Javascript](./src/11.盛最多水的容器.js) | [test](./src/11.盛最多水的容器.test.js) |
| 15 | 3Sum([en](https://leetcode.com/problems/3sum), [cn](https://leetcode.cn/problems/3sum)) | Medium | [Javascript](./src/15.3-sum.js) | [test](./src/15.3-sum.test.js) |
| 16 | 3Sum Closest([en](https://leetcode.com/problems/3sum-closest), [cn](https://leetcode.cn/problems/3sum-closest)) | Medium | [Javascript](./src/16.3-sum-closest.js) | [test](./src/16.3-sum-closest.test.js) |
| 17 | Letter Combinations of a Phone Number([en](https://leetcode.com/problems/letter-combinations-of-a-phone-number), [cn](https://leetcode.cn/problems/letter-combinations-of-a-phone-number)) | Medium | [Javascript](./src/17.电话号码的字母组合.js) | [test](./src/17.电话号码的字母组合.test.js) |
| 18 | 4Sum([en](https://leetcode.com/problems/4sum), [cn](https://leetcode.cn/problems/4sum)) | Medium | [Javascript](./src/18.四数之和.js) | [test](./src/18.四数之和.test.js) |
| 19 | Remove Nth Node From End of List([en](https://leetcode.com/problems/remove-nth-node-from-end-of-list), [cn](https://leetcode.cn/problems/remove-nth-node-from-end-of-list)) | Medium | [Javascript](./src/19.删除链表的倒数第-n-个结点.js) | [test](./src/19.删除链表的倒数第-n-个结点.test.js) |
| 20 | Valid Parentheses([en](https://leetcode.com/problems/valid-parentheses), [cn](https://leetcode.cn/problems/valid-parentheses)) | Easy | [Javascript](./src/20.valid-parentheses.js) | [test](./src/20.valid-parentheses.test.js) |
| 21 | Merge Two Sorted Lists([en](https://leetcode.com/problems/merge-two-sorted-lists), [cn](https://leetcode.cn/problems/merge-two-sorted-lists)) | Easy | [Javascript](./src/21.合并两个有序链表.js) | [test](./src/21.合并两个有序链表.test.js) |
| 23 | Merge k Sorted Lists([en](https://leetcode.com/problems/merge-k-sorted-lists), [cn](https://leetcode.cn/problems/merge-k-sorted-lists)) | Hard | [Javascript](./src/23.合并k个升序链表.js) | |
| 24 | Swap Nodes in Pairs([en](https://leetcode.com/problems/swap-nodes-in-pairs), [cn](https://leetcode.cn/problems/swap-nodes-in-pairs)) | Medium | [Javascript](./src/24.swap-nodes-in-pairs.js) | [test](./src/24.swap-nodes-in-pairs.test.js) |
| 25 | Reverse Nodes in k-Group([en](https://leetcode.com/problems/reverse-nodes-in-k-group), [cn](https://leetcode.cn/problems/reverse-nodes-in-k-group)) | Hard | [Javascript](./src/25.reverse-nodes-in-k-group.js) | [test](./src/25.reverse-nodes-in-k-group.test.js) |
| 26 | Remove Duplicates from Sorted Array([en](https://leetcode.com/problems/remove-duplicates-from-sorted-array), [cn](https://leetcode.cn/problems/remove-duplicates-from-sorted-array)) | Easy | [Javascript](./src/26.删除有序数组中的重复项.js) | [test](./src/26.删除有序数组中的重复项.test.js) |
| 27 | Remove Element([en](https://leetcode.com/problems/remove-element), [cn](https://leetcode.cn/problems/remove-element)) | Easy | [Javascript](./src/27.移除元素.js) | [test](./src/27.移除元素.test.js) |
| 34 | Find First and Last Position of Element in Sorted Array([en](https://leetcode.com/problems/find-first-and-last-position-of-element-in-sorted-array), [cn](https://leetcode.cn/problems/find-first-and-last-position-of-element-in-sorted-array)) | Medium | [Javascript](./src/34.在排序数组中查找元素的第一个和最后一个位置.js) | |
| 35 | Search Insert Position([en](https://leetcode.com/problems/search-insert-position), [cn](https://leetcode.cn/problems/search-insert-position)) | Easy | [Javascript](./src/35.搜索插入位置.js) | |
| 39 | Combination Sum([en](https://leetcode.com/problems/combination-sum), [cn](https://leetcode.cn/problems/combination-sum)) | Medium | [Javascript](./src/39.组合总和.js) | |
| 40 | Combination Sum II([en](https://leetcode.com/problems/combination-sum-ii), [cn](https://leetcode.cn/problems/combination-sum-ii)) | Medium | [Javascript](./src/40.组合总和-ii.js) | |
| 46 | Permutations([en](https://leetcode.com/problems/permutations), [cn](https://leetcode.cn/problems/permutations)) | Medium | [Javascript](./src/46.全排列.js) | |
| 47 | Permutations II([en](https://leetcode.com/problems/permutations-ii), [cn](https://leetcode.cn/problems/permutations-ii)) | Medium | [Javascript](./src/47.全排列-ii.js) | |
| 51 | N-Queens([en](https://leetcode.com/problems/n-queens), [cn](https://leetcode.cn/problems/n-queens)) | Hard | [Javascript](./src/51.n-皇后.js) | |
| 52 | N-Queens II([en](https://leetcode.com/problems/n-queens-ii), [cn](https://leetcode.cn/problems/n-queens-ii)) | Hard | [Javascript](./src/52.n皇后-ii.js) | [test](./src/52.n皇后-ii.test.js) |
| 64 | Minimum Path Sum([en](https://leetcode.com/problems/minimum-path-sum), [cn](https://leetcode.cn/problems/minimum-path-sum)) | Medium | [Javascript](./src/64.最小路径和.js) | [test](./src/64.最小路径和.test.js) |
| 72 | Edit Distance([en](https://leetcode.com/problems/edit-distance), [cn](https://leetcode.cn/problems/edit-distance)) | Hard | [Javascript](./src/72.编辑距离.js) | |
| 75 | Sort Colors([en](https://leetcode.com/problems/sort-colors), [cn](https://leetcode.cn/problems/sort-colors)) | Medium | [Javascript](./src/75.sort-colors.js) | [test](./src/75.sort-colors.test.js) |
| 76 | Minimum Window Substring([en](https://leetcode.com/problems/minimum-window-substring), [cn](https://leetcode.cn/problems/minimum-window-substring)) | Hard | [Javascript](./src/76.最小覆盖子串.js) | [test](./src/76.最小覆盖子串.test.js) |
| 77 | Combinations([en](https://leetcode.com/problems/combinations), [cn](https://leetcode.cn/problems/combinations)) | Medium | [Javascript](./src/77.组合.js) | [test](./src/77.组合.test.js) |
| 78 | Subsets([en](https://leetcode.com/problems/subsets), [cn](https://leetcode.cn/problems/subsets)) | Medium | [Javascript](./src/78.子集.js) | |
| 79 | Word Search([en](https://leetcode.com/problems/word-search), [cn](https://leetcode.cn/problems/word-search)) | Medium | [Javascript](./src/79.单词搜索.js) | [test](./src/79.单词搜索.test.js) |
| 80 | Remove Duplicates from Sorted Array II([en](https://leetcode.com/problems/remove-duplicates-from-sorted-array-ii), [cn](https://leetcode.cn/problems/remove-duplicates-from-sorted-array-ii)) | Medium | [Javascript](./src/80.删除有序数组中的重复项-ii.js) | [test](./src/80.删除有序数组中的重复项-ii.test.js) |
| 83 | Remove Duplicates from Sorted List([en](https://leetcode.com/problems/remove-duplicates-from-sorted-list), [cn](https://leetcode.cn/problems/remove-duplicates-from-sorted-list)) | Easy | [Javascript](./src/83.删除排序链表中的重复元素.js) | [test](./src/83.删除排序链表中的重复元素.test.js) |
| 86 | Partition List([en](https://leetcode.com/problems/partition-list), [cn](https://leetcode.cn/problems/partition-list)) | Medium | [Javascript](./src/86.分隔链表.js) | [test](./src/86.分隔链表.test.js) |
| 88 | Merge Sorted Array([en](https://leetcode.com/problems/merge-sorted-array), [cn](https://leetcode.cn/problems/merge-sorted-array)) | Easy | [Javascript](./src/88.合并两个有序数组.js) | [test](./src/88.合并两个有序数组.test.js) |
| 90 | Subsets II([en](https://leetcode.com/problems/subsets-ii), [cn](https://leetcode.cn/problems/subsets-ii)) | Medium | [Javascript](./src/90.子集-ii.js) | |
| 92 | Reverse Linked List II([en](https://leetcode.com/problems/reverse-linked-list-ii), [cn](https://leetcode.cn/problems/reverse-linked-list-ii)) | Medium | [Javascript](./src/92.反转链表-ii.js) | [test](./src/92.反转链表-ii.test.js) |
| 94 | Binary Tree Inorder Traversal([en](https://leetcode.com/problems/binary-tree-inorder-traversal), [cn](https://leetcode.cn/problems/binary-tree-inorder-traversal)) | Easy | [Javascript](./src/94.二叉树的中序遍历.js) | [test](./src/94.二叉树的中序遍历.test.js) |
| 95 | Unique Binary Search Trees II([en](https://leetcode.com/problems/unique-binary-search-trees-ii), [cn](https://leetcode.cn/problems/unique-binary-search-trees-ii)) | Medium | [Javascript](./src/95.不同的二叉搜索树-ii.js) | |
| 96 | Unique Binary Search Trees([en](https://leetcode.com/problems/unique-binary-search-trees), [cn](https://leetcode.cn/problems/unique-binary-search-trees)) | Medium | [Javascript](./src/96.不同的二叉搜索树.js) | |
| 98 | Validate Binary Search Tree([en](https://leetcode.com/problems/validate-binary-search-tree), [cn](https://leetcode.cn/problems/validate-binary-search-tree)) | Medium | [Javascript](./src/98.验证二叉搜索树.js) | |
| 100 | Same Tree([en](https://leetcode.com/problems/same-tree), [cn](https://leetcode.cn/problems/same-tree)) | Easy | [Javascript](./src/100.相同的树.js) | |
| 101 | Symmetric Tree([en](https://leetcode.com/problems/symmetric-tree), [cn](https://leetcode.cn/problems/symmetric-tree)) | Easy | [Javascript](./src/101.对称二叉树.js) | |
| 102 | Binary Tree Level Order Traversal([en](https://leetcode.com/problems/binary-tree-level-order-traversal), [cn](https://leetcode.cn/problems/binary-tree-level-order-traversal)) | Medium | [Javascript](./src/102.二叉树的层序遍历.js) | |
| 103 | Binary Tree Zigzag Level Order Traversal([en](https://leetcode.com/problems/binary-tree-zigzag-level-order-traversal), [cn](https://leetcode.cn/problems/binary-tree-zigzag-level-order-traversal)) | Medium | [Javascript](./src/103.二叉树的锯齿形层序遍历.js) | |
| 104 | Maximum Depth of Binary Tree([en](https://leetcode.com/problems/maximum-depth-of-binary-tree), [cn](https://leetcode.cn/problems/maximum-depth-of-binary-tree)) | Easy | [Javascript](./src/104.二叉树的最大深度.js) | |
| 105 | Construct Binary Tree from Preorder and Inorder Traversal([en](https://leetcode.com/problems/construct-binary-tree-from-preorder-and-inorder-traversal), [cn](https://leetcode.cn/problems/construct-binary-tree-from-preorder-and-inorder-traversal)) | Medium | [Javascript](./src/105.从前序与中序遍历序列构造二叉树.js) | [test](./src/105.从前序与中序遍历序列构造二叉树.test.js) |
| 106 | Construct Binary Tree from Inorder and Postorder Traversal([en](https://leetcode.com/problems/construct-binary-tree-from-inorder-and-postorder-traversal), [cn](https://leetcode.cn/problems/construct-binary-tree-from-inorder-and-postorder-traversal)) | Medium | [Javascript](./src/106.从中序与后序遍历序列构造二叉树.js) | [test](./src/106.从中序与后序遍历序列构造二叉树.test.js) |
| 107 | Binary Tree Level Order Traversal II([en](https://leetcode.com/problems/binary-tree-level-order-traversal-ii), [cn](https://leetcode.cn/problems/binary-tree-level-order-traversal-ii)) | Medium | [Javascript](./src/107.二叉树的层序遍历-ii.js) | |
| 108 | Convert Sorted Array to Binary Search Tree([en](https://leetcode.com/problems/convert-sorted-array-to-binary-search-tree), [cn](https://leetcode.cn/problems/convert-sorted-array-to-binary-search-tree)) | Easy | [Javascript](./src/108.将有序数组转换为二叉搜索树.js) | |
| 110 | Balanced Binary Tree([en](https://leetcode.com/problems/balanced-binary-tree), [cn](https://leetcode.cn/problems/balanced-binary-tree)) | Easy | [Javascript](./src/110.平衡二叉树.js) | |
| 111 | Minimum Depth of Binary Tree([en](https://leetcode.com/problems/minimum-depth-of-binary-tree), [cn](https://leetcode.cn/problems/minimum-depth-of-binary-tree)) | Easy | [Javascript](./src/111.二叉树的最小深度.js) | |
| 112 | Path Sum([en](https://leetcode.com/problems/path-sum), [cn](https://leetcode.cn/problems/path-sum)) | Easy | [Javascript](./src/112.路径总和.js) | |
| 113 | Path Sum II([en](https://leetcode.com/problems/path-sum-ii), [cn](https://leetcode.cn/problems/path-sum-ii)) | Medium | [Javascript](./src/113.路径总和-ii.js) | |
| 114 | Flatten Binary Tree to Linked List([en](https://leetcode.com/problems/flatten-binary-tree-to-linked-list), [cn](https://leetcode.cn/problems/flatten-binary-tree-to-linked-list)) | Medium | [Javascript](./src/114.二叉树展开为链表.js) | [test](./src/114.二叉树展开为链表.test.js) |
| 116 | Populating Next Right Pointers in Each Node([en](https://leetcode.com/problems/populating-next-right-pointers-in-each-node), [cn](https://leetcode.cn/problems/populating-next-right-pointers-in-each-node)) | Medium | [Javascript](./src/116.填充每个节点的下一个右侧节点指针.js) | [test](./src/116.填充每个节点的下一个右侧节点指针.test.js) |
| 117 | Populating Next Right Pointers in Each Node II([en](https://leetcode.com/problems/populating-next-right-pointers-in-each-node-ii), [cn](https://leetcode.cn/problems/populating-next-right-pointers-in-each-node-ii)) | Medium | [Javascript](./src/117.填充每个节点的下一个右侧节点指针-ii.js) | |
| 124 | Binary Tree Maximum Path Sum([en](https://leetcode.com/problems/binary-tree-maximum-path-sum), [cn](https://leetcode.cn/problems/binary-tree-maximum-path-sum)) | Hard | [Javascript](./src/124.二叉树中的最大路径和.js) | |
| 125 | Valid Palindrome([en](https://leetcode.com/problems/valid-palindrome), [cn](https://leetcode.cn/problems/valid-palindrome)) | Easy | [Javascript](./src/125.valid-palindrome.js) | [test](./src/125.valid-palindrome.test.js) |
| 129 | Sum Root to Leaf Numbers([en](https://leetcode.com/problems/sum-root-to-leaf-numbers), [cn](https://leetcode.cn/problems/sum-root-to-leaf-numbers)) | Medium | [Javascript](./src/129.求根节点到叶节点数字之和.js) | |
| 141 | Linked List Cycle([en](https://leetcode.com/problems/linked-list-cycle), [cn](https://leetcode.cn/problems/linked-list-cycle)) | Easy | [Javascript](./src/141.环形链表.js) | |
| 144 | Binary Tree Preorder Traversal([en](https://leetcode.com/problems/binary-tree-preorder-traversal), [cn](https://leetcode.cn/problems/binary-tree-preorder-traversal)) | Easy | [Javascript](./src/144.二叉树的前序遍历.js) | [test](./src/144.二叉树的前序遍历.test.js) |
| 145 | Binary Tree Postorder Traversal([en](https://leetcode.com/problems/binary-tree-postorder-traversal), [cn](https://leetcode.cn/problems/binary-tree-postorder-traversal)) | Easy | [Javascript](./src/145.二叉树的后序遍历.js) | [test](./src/145.二叉树的后序遍历.test.js) |
| 146 | LRU Cache([en](https://leetcode.com/problems/lru-cache), [cn](https://leetcode.cn/problems/lru-cache)) | Medium | [Javascript](./src/146.lru-缓存.js) | [test](./src/146.lru-缓存.test.js) |
| 147 | Insertion Sort List([en](https://leetcode.com/problems/insertion-sort-list), [cn](https://leetcode.cn/problems/insertion-sort-list)) | Medium | [Javascript](./src/147.insertion-sort-list.js) | [test](./src/147.insertion-sort-list.test.js) |
| 149 | Max Points on a Line([en](https://leetcode.com/problems/max-points-on-a-line), [cn](https://leetcode.cn/problems/max-points-on-a-line)) | Hard | [Javascript](./src/149.max-points-on-a-line.js) | [test](./src/149.max-points-on-a-line.test.js) |
| 160 | Intersection of Two Linked Lists([en](https://leetcode.com/problems/intersection-of-two-linked-lists), [cn](https://leetcode.cn/problems/intersection-of-two-linked-lists)) | Easy | [Javascript](./src/160.相交链表.js) | |
| 167 | Two Sum II - Input Array Is Sorted([en](https://leetcode.com/problems/two-sum-ii---input-array-is-sorted), [cn](https://leetcode.cn/problems/two-sum-ii---input-array-is-sorted)) | Medium | [Javascript](./src/167.两数之和-ii-输入有序数组.js) | [test](./src/167.两数之和-ii-输入有序数组.test.js) |
| 173 | Binary Search Tree Iterator([en](https://leetcode.com/problems/binary-search-tree-iterator), [cn](https://leetcode.cn/problems/binary-search-tree-iterator)) | Medium | [Javascript](./src/173.二叉搜索树迭代器.js) | |
| 200 | Number of Islands([en](https://leetcode.com/problems/number-of-islands), [cn](https://leetcode.cn/problems/number-of-islands)) | Medium | [Javascript](./src/200.岛屿数量.js) | |
| 202 | Happy Number([en](https://leetcode.com/problems/happy-number), [cn](https://leetcode.cn/problems/happy-number)) | Easy | [Javascript](./src/202.happy-number.js) | [test](./src/202.happy-number.test.js) |
| 205 | Isomorphic Strings([en](https://leetcode.com/problems/isomorphic-strings), [cn](https://leetcode.cn/problems/isomorphic-strings)) | Easy | [Javascript](./src/205.isomorphic-strings.js) | [test](./src/205.isomorphic-strings.test.js) |
| 206 | Reverse Linked List([en](https://leetcode.com/problems/reverse-linked-list), [cn](https://leetcode.cn/problems/reverse-linked-list)) | Easy | [Javascript](./src/206.反转链表.js) | [test](./src/206.反转链表.test.js) |
| 207 | Course Schedule([en](https://leetcode.com/problems/course-schedule), [cn](https://leetcode.cn/problems/course-schedule)) | Medium | [Javascript](./src/207.课程表.js) | [test](./src/207.课程表.test.js) |
| 209 | Minimum Size Subarray Sum([en](https://leetcode.com/problems/minimum-size-subarray-sum), [cn](https://leetcode.cn/problems/minimum-size-subarray-sum)) | Medium | [Javascript](./src/209.minimum-size-subarray-sum.js) | [test](./src/209.minimum-size-subarray-sum.test.js) |
| 210 | Course Schedule II([en](https://leetcode.com/problems/course-schedule-ii), [cn](https://leetcode.cn/problems/course-schedule-ii)) | Medium | [Javascript](./src/210.课程表-ii.js) | [test](./src/210.课程表-ii.test.js) |
| 216 | Combination Sum III([en](https://leetcode.com/problems/combination-sum-iii), [cn](https://leetcode.cn/problems/combination-sum-iii)) | Medium | [Javascript](./src/216.组合总和-iii.js) | [test](./src/216.组合总和-iii.test.js) |
| 219 | Contains Duplicate II([en](https://leetcode.com/problems/contains-duplicate-ii), [cn](https://leetcode.cn/problems/contains-duplicate-ii)) | Easy | [Javascript](./src/219.contains-duplicate-ii.js) | [test](./src/219.contains-duplicate-ii.test.js) |
| 220 | Contains Duplicate III([en](https://leetcode.com/problems/contains-duplicate-iii), [cn](https://leetcode.cn/problems/contains-duplicate-iii)) | Hard | [Javascript](./src/220.contains-duplicate-iii.js) | [test](./src/220.contains-duplicate-iii.test.js) |
| 222 | Count Complete Tree Nodes([en](https://leetcode.com/problems/count-complete-tree-nodes), [cn](https://leetcode.cn/problems/count-complete-tree-nodes)) | Medium | [Javascript](./src/222.完全二叉树的节点个数.js) | |
| 226 | Invert Binary Tree([en](https://leetcode.com/problems/invert-binary-tree), [cn](https://leetcode.cn/problems/invert-binary-tree)) | Easy | [Javascript](./src/226.翻转二叉树.js) | [test](./src/226.翻转二叉树.test.js) |
| 230 | Kth Smallest Element in a BST([en](https://leetcode.com/problems/kth-smallest-element-in-a-bst), [cn](https://leetcode.cn/problems/kth-smallest-element-in-a-bst)) | Medium | [Javascript](./src/230.二叉搜索树中第k小的元素.js) | [test](./src/230.二叉搜索树中第k小的元素.test.js) |
| 234 | Palindrome Linked List([en](https://leetcode.com/problems/palindrome-linked-list), [cn](https://leetcode.cn/problems/palindrome-linked-list)) | Easy | [Javascript](./src/234.palindrome-linked-list.js) | [test](./src/234.palindrome-linked-list.test.js) |
| 235 | Lowest Common Ancestor of a Binary Search Tree([en](https://leetcode.com/problems/lowest-common-ancestor-of-a-binary-search-tree), [cn](https://leetcode.cn/problems/lowest-common-ancestor-of-a-binary-search-tree)) | Medium | [Javascript](./src/235.二叉搜索树的最近公共祖先.js) | |
| 236 | Lowest Common Ancestor of a Binary Tree([en](https://leetcode.com/problems/lowest-common-ancestor-of-a-binary-tree), [cn](https://leetcode.cn/problems/lowest-common-ancestor-of-a-binary-tree)) | Medium | [Javascript](./src/236.二叉树的最近公共祖先.js) | |
| 239 | Sliding Window Maximum([en](https://leetcode.com/problems/sliding-window-maximum), [cn](https://leetcode.cn/problems/sliding-window-maximum)) | Hard | [Javascript](./src/239.滑动窗口最大值.js) | [test](./src/239.滑动窗口最大值.test.js) |
| 257 | Binary Tree Paths([en](https://leetcode.com/problems/binary-tree-paths), [cn](https://leetcode.cn/problems/binary-tree-paths)) | Easy | [Javascript](./src/257.二叉树的所有路径.js) | |
| 283 | Move Zeroes([en](https://leetcode.com/problems/move-zeroes), [cn](https://leetcode.cn/problems/move-zeroes)) | Easy | [Javascript](./src/283.移动零.js) | [test](./src/283.移动零.test.js) |
| 290 | Word Pattern([en](https://leetcode.com/problems/word-pattern), [cn](https://leetcode.cn/problems/word-pattern)) | Easy | [Javascript](./src/290.word-pattern.js) | [test](./src/290.word-pattern.test.js) |
| 297 | Serialize and Deserialize Binary Tree([en](https://leetcode.com/problems/serialize-and-deserialize-binary-tree), [cn](https://leetcode.cn/problems/serialize-and-deserialize-binary-tree)) | Hard | [Javascript](./src/297.二叉树的序列化与反序列化.js) | |
| 300 | Longest Increasing Subsequence([en](https://leetcode.com/problems/longest-increasing-subsequence), [cn](https://leetcode.cn/problems/longest-increasing-subsequence)) | Medium | [Javascript](./src/300.最长递增子序列.js) | [test](./src/300.最长递增子序列.test.js) |
| 303 | Range Sum Query - Immutable([en](https://leetcode.com/problems/range-sum-query---immutable), [cn](https://leetcode.cn/problems/range-sum-query---immutable)) | Easy | [Javascript](./src/303.区域和检索-数组不可变.js) | |
| 316 | Remove Duplicate Letters([en](https://leetcode.com/problems/remove-duplicate-letters), [cn](https://leetcode.cn/problems/remove-duplicate-letters)) | Medium | [Javascript](./src/316.去除重复字母.js) | [test](./src/316.去除重复字母.test.js) | [explanation](./src/316.去除重复字母.md)
| 322 | Coin Change([en](https://leetcode.com/problems/coin-change), [cn](https://leetcode.cn/problems/coin-change)) | Medium | [Javascript](./src/322.零钱兑换.js) | |
| 344 | Reverse String([en](https://leetcode.com/problems/reverse-string), [cn](https://leetcode.cn/problems/reverse-string)) | Easy | [Javascript](./src/344.反转字符串.js) | [test](./src/344.反转字符串.test.js) |
| 345 | Reverse Vowels of a String([en](https://leetcode.com/problems/reverse-vowels-of-a-string), [cn](https://leetcode.cn/problems/reverse-vowels-of-a-string)) | Easy | [Javascript](./src/345.反转字符串中的元音字母.js) | [test](./src/345.反转字符串中的元音字母.test.js) |
| 349 | Intersection of Two Arrays([en](https://leetcode.com/problems/intersection-of-two-arrays), [cn](https://leetcode.cn/problems/intersection-of-two-arrays)) | Easy | [Javascript](./src/349.intersection-of-two-arrays.js) | [test](./src/349.intersection-of-two-arrays.test.js) |
| 350 | Intersection of Two Arrays II([en](https://leetcode.com/problems/intersection-of-two-arrays-ii), [cn](https://leetcode.cn/problems/intersection-of-two-arrays-ii)) | Easy | [Javascript](./src/350.intersection-of-two-arrays-ii.js) | [test](./src/350.intersection-of-two-arrays-ii.test.js) |
| 354 | Russian Doll Envelopes([en](https://leetcode.com/problems/russian-doll-envelopes), [cn](https://leetcode.cn/problems/russian-doll-envelopes)) | Hard | [Javascript](./src/354.俄罗斯套娃信封问题.js) | |
| 380 | Insert Delete GetRandom O(1)([en](https://leetcode.com/problems/insert-delete-getrandom-o(1)), [cn](https://leetcode.cn/problems/insert-delete-getrandom-o(1))) | Medium | [Javascript](./src/380.o-1-时间插入、删除和获取随机元素.js) | [test](./src/380.o-1-时间插入、删除和获取随机元素.test.js) |
| 416 | Partition Equal Subset Sum([en](https://leetcode.com/problems/partition-equal-subset-sum), [cn](https://leetcode.cn/problems/partition-equal-subset-sum)) | Medium | [Javascript](./src/416.分割等和子集.js) | [test](./src/416.分割等和子集.test.js) |
| 438 | Find All Anagrams in a String([en](https://leetcode.com/problems/find-all-anagrams-in-a-string), [cn](https://leetcode.cn/problems/find-all-anagrams-in-a-string)) | Medium | [Javascript](./src/438.找到字符串中所有字母异位词.js) | [test](./src/438.找到字符串中所有字母异位词.test.js) |
| 450 | Delete Node in a BST([en](https://leetcode.com/problems/delete-node-in-a-bst), [cn](https://leetcode.cn/problems/delete-node-in-a-bst)) | Medium | [Javascript](./src/450.删除二叉搜索树中的节点.js) | [test](./src/450.删除二叉搜索树中的节点.test.js) |
| 460 | LFU Cache([en](https://leetcode.com/problems/lfu-cache), [cn](https://leetcode.cn/problems/lfu-cache)) | Hard | [Javascript](./src/460.lfu-缓存.js) | [test](./src/460.lfu-缓存.test.js) |
| 496 | Next Greater Element I([en](https://leetcode.com/problems/next-greater-element-i), [cn](https://leetcode.cn/problems/next-greater-element-i)) | Easy | [Javascript](./src/496.下一个更大元素-i.js) | [test](./src/496.下一个更大元素-i.test.js) | [explanation](./src/496.下一个更大元素-i.md)
| 501 | Find Mode in Binary Search Tree([en](https://leetcode.com/problems/find-mode-in-binary-search-tree), [cn](https://leetcode.cn/problems/find-mode-in-binary-search-tree)) | Easy | [Javascript](./src/501.二叉搜索树中的众数.js) | |
| 503 | Next Greater Element II([en](https://leetcode.com/problems/next-greater-element-ii), [cn](https://leetcode.cn/problems/next-greater-element-ii)) | Medium | [Javascript](./src/503.下一个更大元素-ii.js) | [test](./src/503.下一个更大元素-ii.test.js) |
| 506 | Relative Ranks([en](https://leetcode.com/problems/relative-ranks), [cn](https://leetcode.cn/problems/relative-ranks)) | Easy | [Javascript](./src/506.relative-ranks.js) | [test](./src/506.relative-ranks.test.js) |
| 513 | Find Bottom Left Tree Value([en](https://leetcode.com/problems/find-bottom-left-tree-value), [cn](https://leetcode.cn/problems/find-bottom-left-tree-value)) | Medium | [Javascript](./src/513.找树左下角的值.js) | |
| 515 | Find Largest Value in Each Tree Row([en](https://leetcode.com/problems/find-largest-value-in-each-tree-row), [cn](https://leetcode.cn/problems/find-largest-value-in-each-tree-row)) | Medium | [Javascript](./src/515.在每个树行中找最大值.js) | |
| 518 | Coin Change II([en](https://leetcode.com/problems/coin-change-ii), [cn](https://leetcode.cn/problems/coin-change-ii)) | Medium | [Javascript](./src/518.零钱兑换-ii.js) | [test](./src/518.零钱兑换-ii.test.js) |
| 530 | Minimum Absolute Difference in BST([en](https://leetcode.com/problems/minimum-absolute-difference-in-bst), [cn](https://leetcode.cn/problems/minimum-absolute-difference-in-bst)) | Easy | [Javascript](./src/530.二叉搜索树的最小绝对差.js) | |
| 538 | Convert BST to Greater Tree([en](https://leetcode.com/problems/convert-bst-to-greater-tree), [cn](https://leetcode.cn/problems/convert-bst-to-greater-tree)) | Medium | [Javascript](./src/538.把二叉搜索树转换为累加树.js) | |
| 543 | Diameter of Binary Tree([en](https://leetcode.com/problems/diameter-of-binary-tree), [cn](https://leetcode.cn/problems/diameter-of-binary-tree)) | Easy | [Javascript](./src/543.二叉树的直径.js) | |
| 559 | Maximum Depth of N-ary Tree([en](https://leetcode.com/problems/maximum-depth-of-n-ary-tree), [cn](https://leetcode.cn/problems/maximum-depth-of-n-ary-tree)) | Easy | [Javascript](./src/559.n-叉树的最大深度.js) | |
| 563 | Binary Tree Tilt([en](https://leetcode.com/problems/binary-tree-tilt), [cn](https://leetcode.cn/problems/binary-tree-tilt)) | Easy | [Javascript](./src/563.二叉树的坡度.js) | |
| 567 | Permutation in String([en](https://leetcode.com/problems/permutation-in-string), [cn](https://leetcode.cn/problems/permutation-in-string)) | Medium | [Javascript](./src/567.字符串的排列.js) | [test](./src/567.字符串的排列.test.js) |
| 572 | Subtree of Another Tree([en](https://leetcode.com/problems/subtree-of-another-tree), [cn](https://leetcode.cn/problems/subtree-of-another-tree)) | Easy | [Javascript](./src/572.另一棵树的子树.js) | |
| 589 | N-ary Tree Preorder Traversal([en](https://leetcode.com/problems/n-ary-tree-preorder-traversal), [cn](https://leetcode.cn/problems/n-ary-tree-preorder-traversal)) | Easy | [Javascript](./src/589.n-叉树的前序遍历.js) | |
| 590 | N-ary Tree Postorder Traversal([en](https://leetcode.com/problems/n-ary-tree-postorder-traversal), [cn](https://leetcode.cn/problems/n-ary-tree-postorder-traversal)) | Easy | [Javascript](./src/590.n-叉树的后序遍历.js) | |
| 617 | Merge Two Binary Trees([en](https://leetcode.com/problems/merge-two-binary-trees), [cn](https://leetcode.cn/problems/merge-two-binary-trees)) | Easy | [Javascript](./src/617.合并二叉树.js) | |
| 643 | Maximum Average Subarray I([en](https://leetcode.com/problems/maximum-average-subarray-i), [cn](https://leetcode.cn/problems/maximum-average-subarray-i)) | Easy | [Javascript](./src/643.子数组最大平均数-i.js) | [test](./src/643.子数组最大平均数-i.test.js) |
| 652 | Find Duplicate Subtrees([en](https://leetcode.com/problems/find-duplicate-subtrees), [cn](https://leetcode.cn/problems/find-duplicate-subtrees)) | Medium | [Javascript](./src/652.寻找重复的子树.js) | [test](./src/652.寻找重复的子树.test.js) |
| 653 | Two Sum IV - Input is a BST([en](https://leetcode.com/problems/two-sum-iv---input-is-a-bst), [cn](https://leetcode.cn/problems/two-sum-iv---input-is-a-bst)) | Easy | [Javascript](./src/653.两数之和-iv-输入二叉搜索树.js) | |
| 654 | Maximum Binary Tree([en](https://leetcode.com/problems/maximum-binary-tree), [cn](https://leetcode.cn/problems/maximum-binary-tree)) | Medium | [Javascript](./src/654.最大二叉树.js) | [test](./src/654.最大二叉树.test.js) |
| 662 | Maximum Width of Binary Tree([en](https://leetcode.com/problems/maximum-width-of-binary-tree), [cn](https://leetcode.cn/problems/maximum-width-of-binary-tree)) | Medium | [Javascript](./src/662.二叉树最大宽度.js) | |
| 671 | Second Minimum Node In a Binary Tree([en](https://leetcode.com/problems/second-minimum-node-in-a-binary-tree), [cn](https://leetcode.cn/problems/second-minimum-node-in-a-binary-tree)) | Easy | [Javascript](./src/671.二叉树中第二小的节点.js) | |
| 687 | Longest Univalue Path([en](https://leetcode.com/problems/longest-univalue-path), [cn](https://leetcode.cn/problems/longest-univalue-path)) | Medium | [Javascript](./src/687.最长同值路径.js) | |
| 700 | Search in a Binary Search Tree([en](https://leetcode.com/problems/search-in-a-binary-search-tree), [cn](https://leetcode.cn/problems/search-in-a-binary-search-tree)) | Easy | [Javascript](./src/700.二叉搜索树中的搜索.js) | |
| 701 | Insert into a Binary Search Tree([en](https://leetcode.com/problems/insert-into-a-binary-search-tree), [cn](https://leetcode.cn/problems/insert-into-a-binary-search-tree)) | Medium | [Javascript](./src/701.二叉搜索树中的插入操作.js) | [test](./src/701.二叉搜索树中的插入操作.test.js) |
| 704 | Binary Search([en](https://leetcode.com/problems/binary-search), [cn](https://leetcode.cn/problems/binary-search)) | Easy | [Javascript](./src/704.二分查找.js) | |
| 710 | Random Pick with Blacklist([en](https://leetcode.com/problems/random-pick-with-blacklist), [cn](https://leetcode.cn/problems/random-pick-with-blacklist)) | Hard | [Javascript](./src/710.黑名单中的随机数.js) | [test](./src/710.黑名单中的随机数.test.js) |
| 739 | Daily Temperatures([en](https://leetcode.com/problems/daily-temperatures), [cn](https://leetcode.cn/problems/daily-temperatures)) | Medium | [Javascript](./src/739.每日温度.js) | [test](./src/739.每日温度.test.js) |
| 752 | Open the Lock([en](https://leetcode.com/problems/open-the-lock), [cn](https://leetcode.cn/problems/open-the-lock)) | Medium | [Javascript](./src/752.打开转盘锁.js) | |
| 773 | Sliding Puzzle([en](https://leetcode.com/problems/sliding-puzzle), [cn](https://leetcode.cn/problems/sliding-puzzle)) | Hard | [Javascript](./src/773.滑动谜题.js) | |
| 783 | Minimum Distance Between BST Nodes([en](https://leetcode.com/problems/minimum-distance-between-bst-nodes), [cn](https://leetcode.cn/problems/minimum-distance-between-bst-nodes)) | Easy | [Javascript](./src/783.二叉搜索树节点最小距离.js) | [test](./src/783.二叉搜索树节点最小距离.test.js) |
| 785 | Is Graph Bipartite?([en](https://leetcode.com/problems/is-graph-bipartite?), [cn](https://leetcode.cn/problems/is-graph-bipartite?)) | Medium | [Javascript](./src/785.判断二分图.js) | |
| 797 | All Paths From Source to Target([en](https://leetcode.com/problems/all-paths-from-source-to-target), [cn](https://leetcode.cn/problems/all-paths-from-source-to-target)) | Medium | [Javascript](./src/797.所有可能的路径.js) | [test](./src/797.所有可能的路径.test.js) |
| 862 | Shortest Subarray with Sum at Least K([en](https://leetcode.com/problems/shortest-subarray-with-sum-at-least-k), [cn](https://leetcode.cn/problems/shortest-subarray-with-sum-at-least-k)) | Hard | [Javascript](./src/862.和至少为-k-的最短子数组.js) | [test](./src/862.和至少为-k-的最短子数组.test.js) | [explanation](./src/862.和至少为-k-的最短子数组.md)
| 872 | Leaf-Similar Trees([en](https://leetcode.com/problems/leaf-similar-trees), [cn](https://leetcode.cn/problems/leaf-similar-trees)) | Easy | [Javascript](./src/872.叶子相似的树.js) | [test](./src/872.叶子相似的树.test.js) |
| 876 | Middle of the Linked List([en](https://leetcode.com/problems/middle-of-the-linked-list), [cn](https://leetcode.cn/problems/middle-of-the-linked-list)) | Easy | [Javascript](./src/876.链表的中间结点.js) | [test](./src/876.链表的中间结点.test.js) |
| 886 | Possible Bipartition([en](https://leetcode.com/problems/possible-bipartition), [cn](https://leetcode.cn/problems/possible-bipartition)) | Medium | [Javascript](./src/886.可能的二分法.js) | |
| 889 | Construct Binary Tree from Preorder and Postorder Traversal([en](https://leetcode.com/problems/construct-binary-tree-from-preorder-and-postorder-traversal), [cn](https://leetcode.cn/problems/construct-binary-tree-from-preorder-and-postorder-traversal)) | Medium | [Javascript](./src/889.根据前序和后序遍历构造二叉树.js) | [test](./src/889.根据前序和后序遍历构造二叉树.test.js) |
| 921 | Minimum Add to Make Parentheses Valid([en](https://leetcode.com/problems/minimum-add-to-make-parentheses-valid), [cn](https://leetcode.cn/problems/minimum-add-to-make-parentheses-valid)) | Medium | [Javascript](./src/921.使括号有效的最少添加.js) | |
| 931 | Minimum Falling Path Sum([en](https://leetcode.com/problems/minimum-falling-path-sum), [cn](https://leetcode.cn/problems/minimum-falling-path-sum)) | Medium | [Javascript](./src/931.下降路径最小和.js) | [test](./src/931.下降路径最小和.test.js) |
| 965 | Univalued Binary Tree([en](https://leetcode.com/problems/univalued-binary-tree), [cn](https://leetcode.cn/problems/univalued-binary-tree)) | Easy | [Javascript](./src/965.单值二叉树.js) | [test](./src/965.单值二叉树.test.js) |
| 988 | Smallest String Starting From Leaf([en](https://leetcode.com/problems/smallest-string-starting-from-leaf), [cn](https://leetcode.cn/problems/smallest-string-starting-from-leaf)) | Medium | [Javascript](./src/988.从叶结点开始的最小字符串.js) | |
| 998 | Maximum Binary Tree II([en](https://leetcode.com/problems/maximum-binary-tree-ii), [cn](https://leetcode.cn/problems/maximum-binary-tree-ii)) | Medium | [Javascript](./src/998.maximum-binary-tree-ii.js) | |
| 1008 | Construct Binary Search Tree from Preorder Traversal([en](https://leetcode.com/problems/construct-binary-search-tree-from-preorder-traversal), [cn](https://leetcode.cn/problems/construct-binary-search-tree-from-preorder-traversal)) | Medium | [Javascript](./src/1008.前序遍历构造二叉搜索树.js) | |
| 1038 | Binary Search Tree to Greater Sum Tree([en](https://leetcode.com/problems/binary-search-tree-to-greater-sum-tree), [cn](https://leetcode.cn/problems/binary-search-tree-to-greater-sum-tree)) | Medium | [Javascript](./src/1038.从二叉搜索树到更大和树.js) | [test](./src/1038.从二叉搜索树到更大和树.test.js) |
| 1094 | Car Pooling([en](https://leetcode.com/problems/car-pooling), [cn](https://leetcode.cn/problems/car-pooling)) | Medium | [Javascript](./src/1094.拼车.js) | |
| 1143 | Longest Common Subsequence([en](https://leetcode.com/problems/longest-common-subsequence), [cn](https://leetcode.cn/problems/longest-common-subsequence)) | Medium | [Javascript](./src/1143.最长公共子序列.js) | |
| 1373 | Maximum Sum BST in Binary Tree([en](https://leetcode.com/problems/maximum-sum-bst-in-binary-tree), [cn](https://leetcode.cn/problems/maximum-sum-bst-in-binary-tree)) | Hard | [Javascript](./src/1373.二叉搜索子树的最大键值和.js) | |
| 1541 | Minimum Insertions to Balance a Parentheses String([en](https://leetcode.com/problems/minimum-insertions-to-balance-a-parentheses-string), [cn](https://leetcode.cn/problems/minimum-insertions-to-balance-a-parentheses-string)) | Medium | [Javascript](./src/1541.平衡括号字符串的最少插入次数.js) | [test](./src/1541.平衡括号字符串的最少插入次数.test.js) |
| 1695 | Maximum Erasure Value([en](https://leetcode.com/problems/maximum-erasure-value), [cn](https://leetcode.cn/problems/maximum-erasure-value)) | Medium | [Javascript](./src/1695.删除子数组的最大得分.js) | [test](./src/1695.删除子数组的最大得分.test.js) |