
JavaScript
KristinKander
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
JavaScript实现二叉搜索树
什么是二叉搜索树?有什么性质? 二叉树搜索树性质 设x是二叉搜索树中的一个结点。如果y是x左子树中的一个结点,那么y.key≤x.key。如果y是x右子树中的一个结点,那么y.key≥x.key。 在二叉搜索树中: 1.若任意结点的左子树不空,则左子树上所有结点的值均不大于它的根结点的值。 2. 若任意结点的右子树不空,则右子树上所有结点的值均不小于它的根结点的值。 3.任意结点的左、右子树也分别为二叉搜索树 代码实现 // 树的结构 class BTNode { constructor() {原创 2022-04-15 10:06:31 · 945 阅读 · 0 评论 -
JavaScript实现红黑树
红黑树五大性质 ①结点是红色或者黑色,结点上只有一个color属性 ②根节点是黑色 ③叶子结点都是黑色,且为null ④连接红色结点的两个子结点都是黑色,红色结点的父结点都是黑色,红色子结点都是黑色 ⑤从任意结点出发,到其每个叶子结点的路径中包含相同数据的黑色结点 五条性质是为了保证:从根结点到叶子结点的最长路径不大于最短路径的两倍 由于性质4,红黑树中不会出现两个红色结点相邻的情形。树中最短的可能出现的路径是都是黑色结点的路径,树中最长的可能出现的路径是红色结点和黑色结点交替的路径。再结合性质5,每条路径原创 2022-04-15 09:59:27 · 791 阅读 · 0 评论 -
JavaScript【剑指 Offer 09. 用两个栈实现队列】
var CQueue = function () { this.stackA = []; this.stackB = []; }; CQueue.prototype.appendTail = function (value) { this.stackA.push(value);//永远从A入队 }; CQueue.prototype.deleteHead = function () { if (!this.stackA.length && !this.stackB.原创 2022-04-05 22:56:07 · 810 阅读 · 0 评论 -
14.最长公共前缀
var longestCommonPrefix = function(strs) { if(strs.length == 0) return ""; let ans = strs[0]; for(let i =1;i<strs.length;i++) { let j=0; for(;j<ans.length && j < strs[i].length;j++) { if(ans原创 2022-03-30 20:52:05 · 129 阅读 · 0 评论 -
JavaScript反转字符串【两种方法】【一行代码】
一行代码解决翻转字符串原创 2022-03-30 19:22:50 · 1133 阅读 · 0 评论