7777sea

Results 23 comments of 7777sea

``` /** * @param {string} s * @return {character} */ var firstUniqChar = function(s) { let map = {}; let _s = ' '; for(let i=0; i

先找出两个节点的最近公共祖先 分别求出两个节点到最近公共祖先的路径长度 求出两个节点的路径长度 **求公共祖先** ```js var lowestCommonAncestor = function(root, p, q) { if (root===null||root===p||root===q) { return root } let left = lowestCommonAncestor(root.left, p, q) let right = lowestCommonAncestor(root.right, p, q)...

``` var maxSlidingWindow = function(nums, k) { let max = []; //存放最大值 for(let i=0;i

希尔排序是插入排序的修改版,是把记录按下标的一定增量分组,对每组使用直接插入排序算法排序;随着增量逐渐减少,每组包含的关键词越来越多,当增量减至1时,整个文件恰被分成一组,算法便终止。 时间复杂度为 O(nlogn), 空间复杂度为O(1) ```js // shellSort function shellSort(arr) { for(let gap = Math.floor(arr.length/2); gap > 0; gap = Math.floor(gap/2)) { // 内层循环与插入排序的写法基本一致,只是每次移动的步长变为 gap for(let i = gap; i <...

```js /** * Definition for a binary tree node. * function TreeNode(val) { * this.val = val; * this.left = this.right = null; * } */ /** * @param {TreeNode}...

```js var postorderTraversal = function(root) { let res = [] // 用来存储后序遍历节点的值 stack = [] cur = root var lastVisitedNode = null; while(cur || stack.length > 0) { if(cur !==...

``` var removeDuplicates = function(S) { let _ = []; for(let i of S){ if(_.length && _[_.length - 1] == i){ _.splice(_.length - 1, 1) }else{ _.push(i) } } return...

浅拷贝数组,利用random()方法重制数组角标 ```js /** * @param {number[]} nums */ var Solution = function(nums) { this.nums = nums; }; /** * Resets the array to its original configuration and return it. *...

``` const answer = (s) => { const map = { '(': ')', '{': '}', '[': ']' } let _ = []; for(var i of s){ if(map[i]){_.push(i)} else { if(i...