冰梦IceDream
冰梦IceDream
全部文章
题解
归档
标签
去牛客网
登录
/
注册
冰梦IceDream的博客
全部文章
/ 题解
(共9篇)
JavaScript求解二叉树的下一个结点
题目描述 给定一个二叉树和其中的一个结点,请找出中序遍历顺序的下一个结点并且返回。注意,树中的结点不仅包含左右子结点,同时包含指向父结点的指针。 实现思路 中序遍历的顺序 左 - 根 - 右,所以寻找下一个节点的优先级应该反过来 优先级 右 - 根 - 左。根据二叉树中序遍历的特点,可以分为以下几种...
2019-09-15
0
801
JavaScript实现构建乘积数组
题目描述 给定一个数组A[0,1,...,n-1],请构建一个数组B[0,1,...,n-1],其中B中的元素B[i]=A[0]A[1]...A[i-1]*A[i+1]...*A[n-1]。不能使用除法。 实现思路 既然不能用乘法,分析题目,我们可以将乘积拆为两项。即: C[i] = A[0] * ...
2019-09-14
19
1716
JavaScript实现表示数值的字符串
JavaScript代码实现如下: function isNumeric(s) { var reg = /^[\+-]?\d*\.?\d+(e[\+-]?\d+)?$/i; return reg.test(s); } 代码的解释如下: 首先,用 开头符 ^ 和 结尾符 $ 界定待匹...
2019-09-12
16
936
JavaScript实现翻转单词序列
JavaScript代码一行搞定: function ReverseSentence(str) { return str.split(' ').reverse().join(' ') }
2019-09-12
2
849
JavaScript实现树的子结构
写在前面这是鄙人昨天遇到的一道笔试题,思考了好半天总算是做了出来。今天翻《剑指Offer》时,赫然看了这道题目,不禁佩服作者的逻辑性之强。虽然我们的实现方法大体一致,但我考虑的还不是很全面,代码也写的不够简洁,看来我等还需要好好修炼内功呀。 题目描述 输入两棵二叉树A,B,判断B是不是A的子结构。...
2019-09-12
2
837
JavaScript实现按之字形顺序打印二叉树
实现思路:这道题其实就是从上到下分行打印二叉树的升级版本。只消定义一个变量来判断当前行是奇数行还是偶数行。(假设二叉树的第一行为0,即偶数行)。构造一个临时数组容器temp,存放二叉树中每一行的节点。如果为奇数行,就使用栈来存储(push方法),如果为偶数行,就使用队列来存储(unshift方法)。...
2019-09-10
9
1376
JavaScript实现二叉树的镜像
实现思路:其实就是先序遍历,依次交换节点的左子树与右子树。使用递归就可以解决,但要注意书写递归的终止条件。JavaScript代码实现如下: function TreeNode(x) { this.val = x; this.left = null; this.right =...
2019-09-09
0
775
JavaScript实现重建二叉树
重建二叉树的实现思路:根据二叉树中先序遍历和中序遍历特点求解。 首先确定二叉树根节点的值rootValue,先序序列中的第一个值即为根节点的值,接着在中序序列中找到rootValue的位置,位于rootValue左边的序列为左子树,位于rootValue右边的序列为右子树。这样我们就确定了根节点以...
2019-09-09
1
696
JavaScript实现连续子数组的最大和
之前遇到的一道面试题,现在终于会了。 function FindGreatestSumOfSubArray(array) { let curSum = 0, greateSum = array[0]; array.forEach((value) => { if(...
2019-08-29
1
754