自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(53)
  • 收藏
  • 关注

原创 JavaScript / TypeScript for LeetCode (132)

是差点运气,可我一直在努力!当前进程:开始时间:2020.6.27结束时间:undefinedGitHub仓库:https://github.com/Cundefined/JavaScript-or-TypeScript-for-LeetCode1、题目要求( 剑指 Offer 18 ) 删除链表的节点2、解题思路方法:链表题,玩指针1、边界条件预判2、创建两个个指针,初始指向头部(prev指针方便删除节点)3、while循环遍历链表,找到就删除节点,并移除循环4、返回链表

2020-09-30 18:37:01 169

原创 JavaScript / TypeScript for LeetCode (131)

是差点运气,可我一直在努力!当前进程:开始时间:2020.6.27结束时间:undefinedGitHub仓库:https://github.com/Cundefined/JavaScript-or-TypeScript-for-LeetCode1、题目要求( 剑指 Offer 17 ) 打印从1到最大的n位数2、解题思路方法一:暴力法直接Math.pow(10, n) - 1得到上界方法二:快速幂参考:【剑指 Offer 16. 数值的整数次方】《快速幂算法》例如:求a的

2020-09-30 18:07:02 106

原创 JavaScript / TypeScript for LeetCode (130)

是差点运气,可我一直在努力!当前进程:开始时间:2020.6.27结束时间:undefinedGitHub仓库:https://github.com/Cundefined/JavaScript-or-TypeScript-for-LeetCode1、题目要求( LeetCode-第145题 ) 二叉树的后序遍历2、解题思路方法一、递归方法一、递归方法二、迭代注意:利用“栈”来实现递归的效果1、创建栈和结果数组2、创建两个指针: 2.1、curr指针指向当前所在的节点,初

2020-09-29 21:24:27 79

原创 JavaScript / TypeScript for LeetCode (129)

是差点运气,可我一直在努力!当前进程:开始时间:2020.6.27结束时间:undefinedGitHub仓库:https://github.com/Cundefined/JavaScript-or-TypeScript-for-LeetCode1、题目要求( LeetCode-第117题 ) 填充每个节点的下一个右侧节点指针 II2、解题思路方法:广度优先搜索注意:BFS需要维持一个队列!1、边界条件预判2、创建队列,存储同一层的所有节点3、先把根节点入队4、队列不为空的话

2020-09-28 19:47:01 83

原创 JavaScript / TypeScript for LeetCode (128)

是差点运气,可我一直在努力!当前进程:开始时间:2020.6.27结束时间:undefinedGitHub仓库:https://github.com/Cundefined/JavaScript-or-TypeScript-for-LeetCode1、题目要求( LeetCode-第235题 ) 二叉搜索树的最近公共祖先2、解题思路方法:递归注意:二叉搜索树特点 -> 左小右大1、如果p,q的节点值都大于当前节点值,则说明p,q在当前节点的左子树中2、如果p,q的节点值都小于

2020-09-27 17:28:48 185 1

原创 JavaScript / TypeScript for LeetCode (127)

是差点运气,可我一直在努力!当前进程:开始时间:2020.6.27结束时间:undefinedGitHub仓库:https://github.com/Cundefined/JavaScript-or-TypeScript-for-LeetCode1、题目要求( LeetCode-第113题 ) 路径总和 II2、解题思路方法:深度优先递归 回溯创建dfs函数: 1、递归结束条件 2、将当前非空节点加入路径 3、将当前节点值从目标sum中减去 4、碰到叶

2020-09-26 15:28:53 72

原创 JavaScript / TypeScript for LeetCode (126)

是差点运气,可我一直在努力!当前进程:开始时间:2020.6.27结束时间:undefinedGitHub仓库:https://github.com/Cundefined/JavaScript-or-TypeScript-for-LeetCode1、题目要求( LeetCode-第106题 ) 从中序与后序遍历序列构造二叉树2、解题思路方法:递归【参考105.Construct Binary Tree from Preorder and Inorder Traversal】注意:

2020-09-25 21:15:25 68

原创 JavaScript / TypeScript for LeetCode (125)

是差点运气,可我一直在努力!当前进程:开始时间:2020.6.27结束时间:undefinedGitHub仓库:https://github.com/Cundefined/JavaScript-or-TypeScript-for-LeetCode1、题目要求( LeetCode-第105题 ) 从前序与中序遍历序列构造二叉树2、解题思路方法:递归注意:前序遍历 -> [ 根节点, [左子树的前序遍历结果], [右子树的前序遍历结果] ]中序遍历 -> [ [左子树的中

2020-09-25 20:50:17 113

原创 JavaScript / TypeScript for LeetCode (124)

是差点运气,可我一直在努力!当前进程:开始时间:2020.6.27结束时间:undefinedGitHub仓库:https://github.com/Cundefined/JavaScript-or-TypeScript-for-LeetCode1、题目要求( LeetCode-第617题 ) 合并二叉树2、解题思路方法:递归1、如果两个节点都为空,返回null2、如果t1, t2有一者为空,则节点值不用相加,直接返回另外的非空的节点值3、否则,都不为空,需要将节点值相加,直接

2020-09-23 21:18:00 88

原创 JavaScript / TypeScript for LeetCode (123)

是差点运气,可我一直在努力!当前进程:开始时间:2020.6.27结束时间:undefinedGitHub仓库:https://github.com/Cundefined/JavaScript-or-TypeScript-for-LeetCode1、题目要求( 剑指 Offer 16 ) 数值的整数次方2、解题思路方法:快速幂算法例如:求a的11次11 = (1011)b = 2的3次 * 1 + 2的2次 * 1 + 2的1次 * 1 + 2的0次 * 1a的11次 = (a的

2020-09-22 20:33:05 76

原创 JavaScript / TypeScript for LeetCode (122)

是差点运气,可我一直在努力!当前进程:开始时间:2020.6.27结束时间:undefinedGitHub仓库:https://github.com/Cundefined/JavaScript-or-TypeScript-for-LeetCode1、题目要求( LeetCode-第538题 ) 把二叉搜索树转换为累加树2、解题思路方法:反序中序遍历1、中序遍历可以得到二叉搜索树的节点值升序排列2、反序过来的话,可以得到节点值降序排列3、记录当前节点值之前的节点值总和,加上自己的节

2020-09-22 17:14:31 131

原创 JavaScript / TypeScript for LeetCode (121)

是差点运气,可我一直在努力!当前进程:开始时间:2020.6.27结束时间:undefinedGitHub仓库:https://github.com/Cundefined/JavaScript-or-TypeScript-for-LeetCode1、题目要求( 剑指 Offer 15 ) 二进制中1的个数2、解题思路方法:位运算任何数与1按位与的话,就可以判断其最右边的那位是否为1!!2.1、JavaScript Solution/** * @param {number} n

2020-09-20 20:21:22 92

原创 JavaScript / TypeScript for LeetCode (120)

是差点运气,可我一直在努力!当前进程:开始时间:2020.6.27结束时间:undefinedGitHub仓库:https://github.com/Cundefined/JavaScript-or-TypeScript-for-LeetCode1、题目要求( 剑指 Offer 14- II ) 剪绳子 II2、解题思路方法:数学推导法注意,与“剪绳子I”不同的是2 <= n <= 1000即在大数n情况下,为防止溢出int范围,需要进行求余1、经推导,每段绳子的长度

2020-09-20 14:09:07 73

原创 JavaScript / TypeScript for LeetCode (119)

是差点运气,可我一直在努力!当前进程:开始时间:2020.6.27结束时间:undefinedGitHub仓库:https://github.com/Cundefined/JavaScript-or-TypeScript-for-LeetCode1、题目要求( LeetCode-第343题 ) 整数拆分2、解题思路方法:最优化问题 – 动态规划1、状态:dp[i] 表示将正整数 ii 拆分成至少两个正整数的和之后,这些正整数的最大乘积。2、状态转移方程:当 j 固定时,有 dp[i

2020-09-20 13:34:06 43

原创 JavaScript / TypeScript for LeetCode (118)

是差点运气,可我一直在努力!当前进程:开始时间:2020.6.27结束时间:undefinedGitHub仓库:https://github.com/Cundefined/JavaScript-or-TypeScript-for-LeetCode1、题目要求( 剑指 Offer 14- I ) 剪绳子2、解题思路方法:最优化问题 – 动态规划1、状态:dp[i] 表示将正整数 ii 拆分成至少两个正整数的和之后,这些正整数的最大乘积。2、状态转移方程:当 j 固定时,有 dp[i]

2020-09-20 13:26:07 66

原创 Java SE -- 学习笔记 (Day01)

是差点运气,可我一直在努力!当前进程:开始时间:2020.9.19结束时间:undefined1、Java Beanpackage 定义一个标准类;/*一个标准的类通常要拥有下面四个组成部分:1. 所有的成员变量都要使用private关键字修饰2. 为每一个成员变量编写一对Getter/Setter方法3. 编写一个【无参数】的构造方法4. 编写一个【全参数】的构造方法这样标准的类也叫做Java Bean */public class Person { pri

2020-09-19 20:41:17 92

原创 JavaScript / TypeScript for LeetCode (117)

是差点运气,可我一直在努力!当前进程:开始时间:2020.6.27结束时间:undefinedGitHub仓库:https://github.com/Cundefined/JavaScript-or-TypeScript-for-LeetCode1、题目要求( 剑指 Offer 13 ) 机器人的运动范围2、解题思路方法:深度优先搜索1、创建二维数组记录每个方格是否被访问过2、从起点(0,0)位置开始搜索可以到达的方格3、创建深度优先递归实现的函数 3.1、递归结束条件:

2020-09-19 17:37:32 96

原创 JavaScript / TypeScript for LeetCode (116)

是差点运气,可我一直在努力!当前进程:开始时间:2020.6.27结束时间:undefinedGitHub仓库:https://github.com/Cundefined/JavaScript-or-TypeScript-for-LeetCode1、题目要求( 剑指 Offer 12 ) 矩阵中的路径2、解题思路方法:深度优先搜索类似【200、岛屿数量】1、创建记录【是否访问】标志的数组2、遍历二维数组,每个字符都上下左右去递归遍历周围字符3、创建dfs函数: 3.1、递归

2020-09-19 16:57:10 86

原创 JavaScript / TypeScript for LeetCode (115)

是差点运气,可我一直在努力!当前进程:开始时间:2020.6.27结束时间:undefinedGitHub仓库:https://github.com/Cundefined/JavaScript-or-TypeScript-for-LeetCode1、题目要求( 剑指 Offer 11 ) 旋转数组的最小数字2、解题思路方法:先考虑翻转分界区再二分搜索参考【154.Find Minimum in Rotated Sorted Array II】1、预判,输入数组只有一个元素,则返回第

2020-09-19 16:25:04 88

原创 JavaScript / TypeScript for LeetCode (114)

是差点运气,可我一直在努力!当前进程:开始时间:2020.6.27结束时间:undefinedGitHub仓库:https://github.com/Cundefined/JavaScript-or-TypeScript-for-LeetCode1、题目要求( LeetCode-第404题 ) 左叶子之和2、解题思路深度优先搜索2.1、JavaScript Solution/** * Definition for a binary tree node. * function

2020-09-19 16:03:36 116

原创 JavaScript / TypeScript for LeetCode (113)

是差点运气,可我一直在努力!当前进程:开始时间:2020.6.27结束时间:undefinedGitHub仓库:https://github.com/Cundefined/JavaScript-or-TypeScript-for-LeetCode1、题目要求( LeetCode-第226题 ) 翻转二叉树2、解题思路递归2.1、JavaScript Solution/** * Definition for a binary tree node. * function Tree

2020-09-16 22:57:50 149

原创 JavaScript / TypeScript for LeetCode (112)

是差点运气,可我一直在努力!当前进程:开始时间:2020.6.27结束时间:undefinedGitHub仓库:https://github.com/Cundefined/JavaScript-or-TypeScript-for-LeetCode1、题目要求( 剑指 Offer 10- II ) 青蛙跳台阶问题2、解题思路方法:动态规划1、状态:dp[i] 到达当前台阶有i种跳法2、状态转移方程:dp[i] = dp[i - 1] + dp[i - 2]2.1、JavaScri

2020-09-14 23:05:08 59

原创 JavaScript / TypeScript for LeetCode (111)

是差点运气,可我一直在努力!当前进程:开始时间:2020.6.27结束时间:undefinedGitHub仓库:https://github.com/Cundefined/JavaScript-or-TypeScript-for-LeetCode1、题目要求( 剑指 Offer 10- I ) 斐波那契数列2、解题思路方法一、记忆化方法二、优化空间复杂度:只使用两个变量去记忆化存储前两个数值2.1、JavaScript Solution/** * @param {numbe

2020-09-14 22:18:13 64

原创 JavaScript / TypeScript for LeetCode (110)

是差点运气,可我一直在努力!当前进程:开始时间:2020.6.27结束时间:undefinedGitHub仓库:https://github.com/Cundefined/JavaScript-or-TypeScript-for-LeetCode1、题目要求( 剑指 Offer 09 ) 用两个栈实现队列2、解题思路两个栈(数组模拟),分别为输入栈和输出栈注意:出队时,注意检查输出栈是否为空 1、为空的话,就把输入栈的所有内容全部倒入输出栈; 2、不为空的话,不能直接倒入,因

2020-09-13 20:12:35 77

原创 JavaScript / TypeScript for LeetCode (109)

是差点运气,可我一直在努力!当前进程:开始时间:2020.6.27结束时间:undefinedGitHub仓库:https://github.com/Cundefined/JavaScript-or-TypeScript-for-LeetCode1、题目要求(剑指 Offer 07) 重建二叉树2、解题思路方法:递归1、边界条件预判2、前序遍历的第一个值就是当前树根节点值,以此值来生成根节点3、在中序遍历中找到该根节点所在位置,以此分界,其左边所有值即为其左子树,右边则为右子树

2020-09-13 19:25:25 128

原创 JavaScript / TypeScript for LeetCode (108)

是差点运气,可我一直在努力!当前进程:开始时间:2020.6.27结束时间:undefinedGitHub仓库:https://github.com/Cundefined/JavaScript-or-TypeScript-for-LeetCode1、题目要求( LeetCode-第79题 ) 单词搜索2、解题思路方法:深度优先搜索类似【200、岛屿数量】1、创建记录【是否访问】标志的数组2、遍历二维数组,调用递归函数3、创建dfs函数: 3.1、递归结束条件 3.2、边

2020-09-13 16:50:10 110

原创 JavaScript / TypeScript for LeetCode (107)

是差点运气,可我一直在努力!当前进程:开始时间:2020.6.27结束时间:undefinedGitHub仓库:https://github.com/Cundefined/JavaScript-or-TypeScript-for-LeetCode1、题目要求( 剑指 Offer 06 ) 从尾到头打印链表2、解题思路解题思路:1、遍历一遍链表,记录其长度2、以其长度,创建一个等长度的数组3、从数组最后位置依次加入链表节点值2.1、JavaScript Solution/**

2020-09-12 19:24:11 75

原创 JavaScript / TypeScript for LeetCode (106)

是差点运气,可我一直在努力!当前进程:开始时间:2020.6.27结束时间:undefinedGitHub仓库:https://github.com/Cundefined/JavaScript-or-TypeScript-for-LeetCode1、题目要求( LeetCode-第142题 ) 环形链表 II2、解题思路方法:链表题,玩指针类似于【141.Linked List Cycle】1、边界条件为预判,如果输入为空链表,则返回null2、创建两个指针,分别为快指针和慢指针

2020-09-12 18:58:46 68

原创 JavaScript / TypeScript for LeetCode (105)

是差点运气,可我一直在努力!当前进程:开始时间:2020.6.27结束时间:undefinedGitHub仓库:https://github.com/Cundefined/JavaScript-or-TypeScript-for-LeetCode1、题目要求( 剑指 Offer 05 ) 替换空格2、解题思路借助新字符串操作2.1、JavaScript Solution/** * @param {string} s * @return {string} */var rep

2020-09-12 14:13:53 116

原创 JavaScript / TypeScript for LeetCode (104)

是差点运气,可我一直在努力!当前进程:开始时间:2020.6.27结束时间:undefinedGitHub仓库:https://github.com/Cundefined/JavaScript-or-TypeScript-for-LeetCode1、题目要求( LeetCode-第637题 ) 二叉树的层平均值2、解题思路方法:广度优先搜索类似102.Binary Tree Level Order Traversal1、初始时,将根节点加入队列2、每一轮遍历时,将队列中的节点全部

2020-09-12 13:14:03 107

原创 JavaScript / TypeScript for LeetCode (103)

是差点运气,可我一直在努力!当前进程:开始时间:2020.6.27结束时间:undefinedGitHub仓库:https://github.com/Cundefined/JavaScript-or-TypeScript-for-LeetCode1、题目要求( 剑指 Offer 04 ) 二维数组中的查找2、解题思路从矩阵的右上角开始查找: 1、如果找到了,返回true 2、如果值比target小,则说明这一行都比target小,row往下移一行 row++ 3

2020-09-11 22:24:32 70

原创 JavaScript / TypeScript for LeetCode (102)

是差点运气,可我一直在努力!当前进程:开始时间:2020.6.27结束时间:undefinedGitHub仓库:https://github.com/Cundefined/JavaScript-or-TypeScript-for-LeetCode1、题目要求( LeetCode-第107题 ) 二叉树的层次遍历 II2、解题思路方法:广度优先搜索广度优先搜索 -- 元素存入“队列”深度优先搜索 -- 元素存入“栈”或递归实现1、先自上而下一层一层深度优先搜索,把每层的节点保存进二

2020-09-11 21:50:23 48

原创 JavaScript / TypeScript for LeetCode (101)

是差点运气,可我一直在努力!当前进程:开始时间:2020.6.27结束时间:undefinedGitHub仓库:https://github.com/Cundefined/JavaScript-or-TypeScript-for-LeetCode1、题目要求( LeetCode-第216题 ) 组合总和 III2、解题思路方法:递归回溯法与39. 组合总和相比,candidates = [1,2,3,4,5,6,7,8,9] target = n

2020-09-11 20:56:39 92

原创 JavaScript / TypeScript for LeetCode (100)

是差点运气,可我一直在努力!当前进程:开始时间:2020.6.27结束时间:undefinedGitHub仓库:https://github.com/Cundefined/JavaScript-or-TypeScript-for-LeetCode1、题目要求( LeetCode-第40题 ) 组合总和 II2、解题思路方法:递归回溯法2.1、JavaScript Solution/** * @param {number[]} candidates * @param {numb

2020-09-11 20:13:44 55

原创 JavaScript / TypeScript for LeetCode (九十九)

是差点运气,可我一直在努力!当前进程:开始时间:2020.6.27结束时间:undefinedGitHub仓库:https://github.com/Cundefined/JavaScript-or-TypeScript-for-LeetCode1、题目要求( LeetCode-第102题 ) 二叉树的层序遍历2、解题思路方法:广度优先搜索广度优先搜索 -- 元素存入“队列”深度优先搜索 -- 元素存入“栈”或递归实现1、先自上而下一层一层深度优先搜索,把每层的节点保存进二维数组

2020-09-11 14:24:21 144

原创 JavaScript / TypeScript for LeetCode (九十八)

是差点运气,可我一直在努力!当前进程:开始时间:2020.6.27结束时间:undefinedGitHub仓库:https://github.com/Cundefined/JavaScript-or-TypeScript-for-LeetCode1、题目要求( LeetCode-第347题 ) 前 K 个高频元素2、解题思路1、利用map字典统计数组所有元素出现的次数2、选出前k个高频出现的元素2.1、JavaScript Solution/** * @param {numb

2020-09-09 20:55:50 97

原创 JavaScript / TypeScript for LeetCode (九十七)

是差点运气,可我一直在努力!当前进程:开始时间:2020.6.27结束时间:undefinedGitHub仓库:https://github.com/Cundefined/JavaScript-or-TypeScript-for-LeetCode1、题目要求( 剑指 Offer 03) 数组中重复的数字2、解题思路遍历数组,检查当前元素是否出现过: 1、如果之前没有出现过,说明是第一次出现,标记为1 2、如果出现过,直接返回该元素2.1、JavaScript Sol

2020-09-09 19:56:09 67

原创 JavaScript / TypeScript for LeetCode (九十六)

是差点运气,可我一直在努力!当前进程:开始时间:2020.6.27结束时间:undefinedGitHub仓库:https://github.com/Cundefined/JavaScript-or-TypeScript-for-LeetCode1、题目要求( LeetCode-第39题 ) 组合总和2、解题思路方法:回溯法回溯三部曲2.1、JavaScript Solution/** * @param {number[]} candidates * @param {num

2020-09-09 19:11:44 118

原创 JavaScript / TypeScript for LeetCode (九十五)

是差点运气,可我一直在努力!当前进程:开始时间:2020.6.27结束时间:undefinedGitHub仓库:https://github.com/Cundefined/JavaScript-or-TypeScript-for-LeetCode1、题目要求( LeetCode-第34题 ) 在排序数组中查找元素的第一个和最后一个位置2、解题思路方法:二分搜索注意:由于需要找最开始和最后出现的位置,所以需要在找到一个target之后, 判断要将当前的mid往左移动到左端,还是

2020-09-08 22:05:52 114

原创 JavaScript / TypeScript for LeetCode (九十四)

是差点运气,可我一直在努力!当前进程:开始时间:2020.6.27结束时间:undefinedGitHub仓库:https://github.com/Cundefined/JavaScript-or-TypeScript-for-LeetCode1、题目要求( LeetCode-第77题 ) 组合2、解题思路解题思路:回溯法2.1、JavaScript Solution/** * @param {number} n * @param {number} k * @return

2020-09-08 20:31:51 73

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除