javin

Results 13 comments of javin

```javascript var simplifyPath = function (path) { const pathArray = path.split('/').filter((item) => { return !!item; }) let arr = [] let i = 0, len = pathArray.length while (i <...

```javascript var isValidBST = function (root) { // 一个二叉搜索树的每个节点必须都满足这个条件:任意节点的值必须大于其左子树的最右节点;同时小于右子树的最左节点。 if (!root) { return true } let { val } = root let left = rightMax(root.left) let right = leftMax(root.right) if...

```javascript var isValidBST = function (root) { // 一个二叉搜索树的每个节点必须都满足这个条件:任意节点的值必须大于其左子树的最右节点;同时小于右子树的最左节点。 if (!root) { return true } let { val } = root let left = rightMax(root.left) let right = leftMax(root.right) if...

```javascript var isValidBST = function (root) { // 一个二叉搜索树的每个节点必须都满足这个条件:任意节点的值必须大于其左子树的最右节点;同时小于右子树的最左节点。 if (!root) { return true } let { val } = root let left = rightMax(root.left) let right = leftMax(root.right) if...

```javascript // 两个节点p,q分为两种情况: // p和q在相同子树中 // p和q在不同子树中 // 从根节点遍历,递归向左右子树查询节点信息 // 递归终止条件:如果当前节点为空或等于p或q,则返回当前节点 // 递归遍历左右子树,如果左右子树查到节点都不为空,则表明p和q分别在左右子树中,因此,当前节点即为最近公共祖先; // 如果左右子树其中一个不为空,则返回非空节点。 var lowestCommonAncestor = function (root, p, q) { if (!root) { return null } var...

```javascript var lowestCommonAncestor = function (root, p, q) { var val = root.val var pVal = p.val var qVal = q.val if (pVal > qVal) { var tmp = qVal...

```bash var reverseList = function (head) { let current = head let previous = null while (current) { let next = current.next; current.next = previous previous = current current =...

```bash var detectCycle = function (head) { // 0或者1 if (!head || !head.next) { return null } let current = head let arr = [] while (current) { if (arr.includes(current))...

```bash var hasCycle = function (head) { // 0或者1 if (!head || !head.next) { return false } let current = head while (current) { if (current['flag']) { return true }...

```bash var removeElements = function (head, val) { let newHead = new ListNode(null), curr = head, prev = newHead; newHead.next = head; while (curr) { if (curr.val === val) {...