【代码随想录刷题总结】leetcode104-二叉树的最小深度
引言大家好啊,我是前端拿破轮😁。 跟着卡哥学算法有一段时间了,通过代码随想录的学习,受益匪浅,首先向卡哥致敬🫡。 但是在学习过程中我也发现了一些问题,很多当时理解了并且AC的题目过一段时间就又忘记了,或者不能完美的写出来。根据费曼学习法,光有输入的知识掌握的是不够牢靠的,所以我决定按照代码随想录的顺序,输出自己的刷题总结和思考。同时,由于以前学习过程使用的是JavaScript,而在2025年的今天,TypeScript几乎成了必备项,所以本专题内容也将使用TypeScript,来巩固自己的TypeScript语言能力。 题目信息二叉树的最小深度 leetcode题目链接 给定一个二叉树,找出其最小深度。 最小深度是从根节点到最近叶子节点的最短路径上的节点数量。 说明:叶子节点是指没有子节点的节点。 题目分析求解这道题目,有多种方式,可以使用DFS的递归方式求解,也可以使用BFS层序遍历来求解。 递归方式还是按照递归三部曲 确定递归函数的参数和返回值以及他们的意义 我们来看下题目提供的函数能否满足条件 123function minDepth(root:...
【代码随想录刷题总结】leetcode104-二叉树的最小深度
引言大家好啊,我是前端拿破轮😁。 跟着卡哥学算法有一段时间了,通过代码随想录的学习,受益匪浅,首先向卡哥致敬🫡。 但是在学习过程中我也发现了一些问题,很多当时理解了并且AC的题目过一段时间就又忘记了,或者不能完美的写出来。根据费曼学习法,光有输入的知识掌握的是不够牢靠的,所以我决定按照代码随想录的顺序,输出自己的刷题总结和思考。同时,由于以前学习过程使用的是JavaScript,而在2025年的今天,TypeScript几乎成了必备项,所以本专题内容也将使用TypeScript,来巩固自己的TypeScript语言能力。 题目信息二叉树的最小深度 leetcode题目链接 给定一个二叉树,找出其最小深度。 最小深度是从根节点到最近叶子节点的最短路径上的节点数量。 说明:叶子节点是指没有子节点的节点。 题目分析求解这道题目,有多种方式,可以使用DFS的递归方式求解,也可以使用BFS层序遍历来求解。 递归方式还是按照递归三部曲 确定递归函数的参数和返回值以及他们的意义 我们来看下题目提供的函数能否满足条件 123function minDepth(root:...
【代码随想录刷题总结】leetcode104-完全二叉树的节点个数
引言大家好啊,我是前端拿破轮😁。 跟着卡哥学算法有一段时间了,通过代码随想录的学习,受益匪浅,首先向卡哥致敬🫡。 但是在学习过程中我也发现了一些问题,很多当时理解了并且AC的题目过一段时间就又忘记了,或者不能完美的写出来。根据费曼学习法,光有输入的知识掌握的是不够牢靠的,所以我决定按照代码随想录的顺序,输出自己的刷题总结和思考。同时,由于以前学习过程使用的是JavaScript,而在2025年的今天,TypeScript几乎成了必备项,所以本专题内容也将使用TypeScript,来巩固自己的TypeScript语言能力。 题目信息完全二叉树的节点个数 leetcode题目链接 给你一棵 完全二叉树 的根节点 root ,求出该树的节点个数。 完全二叉树 的定义如下:在完全二叉树中,除了最底层节点可能没填满外,其余每层节点数都达到最大值,并且最下面一层的节点都集中在该层最左边的若干位置。若最底层为第 h 层(从第 0 层开始),则该层包含 1~ 2h...
【代码随想录刷题总结】leetcode101-对称二叉树
引言大家好啊,我是前端拿破轮😁。 跟着卡哥学算法有一段时间了,通过代码随想录的学习,受益匪浅,首先向卡哥致敬🫡。 但是在学习过程中我也发现了一些问题,很多当时理解了并且AC的题目过一段时间就又忘记了,或者不能完美的写出来。根据费曼学习法,光有输入的知识掌握的是不够牢靠的,所以我决定按照代码随想录的顺序,输出自己的刷题总结和思考。同时,由于以前学习过程使用的是JavaScript,而在2025年的今天,TypeScript几乎成了必备项,所以本专题内容也将使用TypeScript,来巩固自己的TypeScript语言能力。 题目信息翻转二叉树 leetcode题目链接 给你一个二叉树的根节点 root , 检查它是否轴对称 题目分析本题考察判断一个二叉树是不是对称二叉树。所谓的对称二叉树,就是该二叉树在是沿着垂直方向的中间轴对称的。 本题同样也是递归实现的经典题目。但是就遇到了我们在上一篇文章...
【代码随想录刷题总结】leetcode226-翻转二叉树
引言大家好啊,我是前端拿破轮😁。 跟着卡哥学算法有一段时间了,通过代码随想录的学习,受益匪浅,首先向卡哥致敬🫡。 但是在学习过程中我也发现了一些问题,很多当时理解了并且AC的题目过一段时间就又忘记了,或者不能完美的写出来。根据费曼学习法,光有输入的知识掌握的是不够牢靠的,所以我决定按照代码随想录的顺序,输出自己的刷题总结和思考。同时,由于以前学习过程使用的是JavaScript,而在2025年的今天,TypeScript几乎成了必备项,所以本专题内容也将使用TypeScript,来巩固自己的TypeScript语言能力。 题目信息翻转二叉树 leetcode题目链接 给你一棵二叉树的根节点 root...
【代码随想录刷题总结】二叉树的层序遍历
引言大家好啊,我是前端拿破轮😁。 跟着卡哥学算法有一段时间了,通过代码随想录的学习,受益匪浅,首先向卡哥致敬🫡。 但是在学习过程中我也发现了一些问题,很多当时理解了并且AC的题目过一段时间就又忘记了,或者不能完美的写出来。根据费曼学习法,光有输入的知识掌握的是不够牢靠的,所以我决定按照代码随想录的顺序,输出自己的刷题总结和思考。同时,由于以前学习过程使用的是JavaScript,而在2025年的今天,TypeScript几乎成了必备项,所以本专题内容也将使用TypeScript,来巩固自己的TypeScript语言能力。 题目信息二叉树的层序遍历。 leetcode题目链接 给你二叉树的根节点 root ,返回其节点值的 层序遍历...
手写Promise的6大静态方法
引言大家好啊,我是前端拿破轮。 在promise相关的笔面试题目中,经常考察的一种题目就是手写Promise。 由于面试时间有限,所以让我们完整地实现Promise的可能性比较小。所以经常考察的便是手写Promise的6大静态方法。 这篇文章拿破轮就带着大家深入分析6大静态方法各自的功能并给出代码实现。 首先先来回顾一下Promise的静态方法主要包括以下几种: Promise.resolve Promise.reject Promise.all Promise.any Promise.allSettled Promise.race Promise.resolveMDN原文 Promise.resolve()静态方法将给定值解析为Promise。如果值为promise,则直接返回该promise;如果值是一个thenable,则Promise.resolve()将使用它准备的两个回调调用then()方法,否则,返回的promise就将使用value。该函数将嵌套的类 Promise 对象(例如,一个将被兑现为另一个 Promise 对象的 Promise...
手把手教你写一个自己的Promise
引言大家好啊,我是前端拿破轮。 如果你参加过前端面试或笔试,一定有一个东西是你绕不过去的,那就是Promise。各种关于Promise的笔面试题目五花八门。今天,拿破轮就带着大家从头到尾完整的实现自己的Promise,所有关于Promise的面试题彻底毕业。 妈妈以后再也不用担心我的Promise了! 概述要想手写一个Promise,核心只有两个。一个是Promise的构造函数,一个是promise对象的then方法,其他的都是细枝末节。一旦搞定了这两个东西,其余东西就呼之欲出了。 实现Promise构造函数我们用ES6的类语法来实现构造函数。 123456class MyPromise { constructor(executor) { // 需要在构造函数中调用同步任务执行器 executor(resolve, reject); }} 那构造函数如何书写呢,回顾我们的Promise是如何使用的: 123const p = new Promise((resolve, reject) => { ...
秋招笔试记录
2025-07-20 虾皮1. Promise性质及静态方法 方法 描述 示例 Promise.resolve(value) 用于创建一个已完成状态(fulfilled)的的Promise Promise.resolve(42).then(console.log) Promise.reject(reason) 快速创建一个已拒绝状态(rejected)的的Promise Promise.reject('出错了').catch(console.error) Promise.all(iterable) 并发执行多个Promise,全部成功才返回结果数组,如果有一个失败,立即reject Promise.all([Promise.resove(1), Promise.resolve(2)]).then(console.log) Promise.race(iterable) 多个Promise,第一个settle(无论成功或失败)的结果就是最终结果 Promise.race([new Promise(res =>...
重生之我在掘金做毕设【二】:Web前端开发
引言大家好啊,我是前端拿破轮,川内唯二985在读,目前鹅厂前端实习,最近准备开始毕业设计了。 基于物联网工程专业的特性,需要选择一个软硬件结合的项目作为毕业设计,当然根据我的职业规划,该项目主要还是偏向Web前端。 经过调研分析,选择了《学习岛——无人自习室O2O平台设计及商业化分析》。之所以还有商业运行分析是因为拿破轮读的是交叉复合培养的双学位,毕设中需要体现金融学的内容。 接下来我会更新一个系列,记录完整的毕设开发过程,并将项目代码全部开源,欢迎各位大佬不吝赐教。 仓库地址:https://github.com/majialu-love-zouyutong/study-island 声明:本项目代码全部开源,但仅供学习交流使用,请注意学术规范,一旦发现抄袭,剽窃等行为,将追究法律责任。 本文会在Web项目中引入ReactRouter,Redux,以及UI组件库SemiDesign。 1....



