算法
文章平均质量分 56
Yolanda_NuoNuo
女程序媛,瑜伽教练
展开
-
JavaScript实现Leetcode112-路径总和
这题好像经常看到,练了前面的感觉还是很简单112. 路径总和1、题目描述给你二叉树的根节点 root 和一个表示目标和的整数 targetSum ,判断该树中是否存在 根节点到叶子节点 的路径,这条路径上所有节点值相加等于目标和 targetSum 。叶子节点 是指没有子节点的节点。2、解题思路是用树的深度优先遍历算法遇到叶子结点就判断路径和是不是等于目标值3、编码实现细节写在注释上/** * @param {TreeNode} root * @param {number} ta原创 2021-07-28 11:25:39 · 208 阅读 · 0 评论 -
JavaScript实现Leetcode102-二叉树的层序遍历
上一话利用树的深度优先遍历和广度优先遍历做了两道简单级别的题1、题目描述102. 二叉树的层序遍历中等难度给你一个二叉树,请你返回其按 层序遍历 得到的节点值。 (即逐层地,从左到右访问所有节点)。2、解题思路这道题明显就是利用树的广度优先遍历,遍历每一层的时候,同一层的放在一个数组里,最后结果在一个二维数组里3、编码实现/** * @param {TreeNode} root * @return {number[][]} */var levelOrder = function原创 2021-07-28 10:47:12 · 365 阅读 · 0 评论 -
JavaScript实现Leetcode104-二叉树的最大深度和111-二叉树的最小深度
学习了树的深度优先算法和广度优先算法后,做这两道题就没有难度了~一、104. 二叉树的最大深度1、解题思路:(1)用上一话的树的深度优先遍历算法实现JavaScript实现树的深度优先遍历和广度优先遍历(2)记得用一个变量去记录层级,递归刷新层级并拿最大的结果2、编码实现/** * @param {TreeNode} root * @return {number} */var maxDepth = function(root) { // 深度优先遍历 let resDe原创 2021-07-28 09:56:47 · 326 阅读 · 0 评论 -
JavaScript实现树的深度优先遍历和广度优先遍历
一、来棵树1、tree.jsconst tree = { val: 'a', children: [ { val: 'b', children: [ { val: 'd', children: [] }, { v原创 2021-07-27 13:07:37 · 1739 阅读 · 1 评论 -
JavaScript实现二叉树前中后序遍历(递归和非递归分别实现)
JavaScript实现二叉树的前中后序遍历(递归和非递归)一、来一棵绿绿的二叉树1、binary-tree.jsconst binaryTree = { val: 'a', left: { val: 'b', left: { val: 'd', left: null, right: null }, right: { val:原创 2021-07-23 13:33:28 · 1505 阅读 · 2 评论 -
JavaScript实现冒泡排序及双向冒泡排序
前端经典算法题(一)之冒泡排序及双向冒泡排序一、背景介绍1、我在干嘛?用JavaScript写一个冒泡排序算法2、什么是冒泡排序?啊这。。。怎么说呢?冒泡排序就是这个那个,冒泡嘛,你懂的,就是这样那样,然后再这样那样再排一下顺序~^-^就是冒泡排序好吧,我认真说~且看????下图就是每一轮,跟右边相邻的元素比较大小,比右边大,就跟右边换个位置二、手写一个冒泡排序其实只要理解了冒泡排序是啥意思,就知道这是一个双重for循环实现的,那就来吧~(一)最简单最基本的冒泡排序1、为了看清楚是原创 2021-05-08 23:32:24 · 746 阅读 · 7 评论