自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Java for LeetCode (163)

是差点运气,可我一直在努力!当前进程:开始时间:2020.6.27结束时间:undefinedGitHub仓库:https://github.com/Cundefined/Java-for-LeetCode1、题目要求( LeetCode – 第143题 ) 重排链表2、解题思路线性表+双指针3、Java Solution/** * Definition for singly-linked list. * public class ListNode { * int

2020-10-20 20:58:43 164

原创 JavaScript / TypeScript for LeetCode (162)

是差点运气,可我一直在努力!当前进程:开始时间:2020.6.27结束时间:undefinedGitHub仓库:https://github.com/Cundefined/JavaScript-or-TypeScript-for-LeetCode1、题目要求( 剑指 Offer 39 ) 数组中出现次数超过一半的数字2、解题思路方法一:哈希表1、利用map字典,遍历统计每个元素出现的次数2、找到map中出现次数超过数长度一半的那个元素时间 -- O(N)空间 -- O(N)

2020-10-19 20:18:54 160

原创 JavaScript / TypeScript for LeetCode (161)

是差点运气,可我一直在努力!当前进程:开始时间:2020.6.27结束时间:undefinedGitHub仓库:https://github.com/Cundefined/JavaScript-or-TypeScript-for-LeetCode1、题目要求( 剑指 Offer 38 ) 字符串的排列2、解题思路方法:回溯法回溯法2.1、JavaScript Solution/** * @param {string} s * @return {string[]} */v

2020-10-19 19:47:16 141

原创 JavaScript / TypeScript for LeetCode (160)

是差点运气,可我一直在努力!当前进程:开始时间:2020.6.27结束时间:undefinedGitHub仓库:https://github.com/Cundefined/JavaScript-or-TypeScript-for-LeetCode1、题目要求( LeetCode – 第977题 ) 有序数组的平方2、解题思路方法:双指针1、创建结果数组2、创建两个指针,分别指向原数组左右两端3、创建结果数组的指针,用于从后往前加入结果数组,初始化为A.length - 14、循

2020-10-18 14:45:18 103

原创 JavaScript / TypeScript for LeetCode (159)

是差点运气,可我一直在努力!当前进程:开始时间:2020.6.27结束时间:undefinedGitHub仓库:https://github.com/Cundefined/JavaScript-or-TypeScript-for-LeetCode1、题目要求( 剑指 Offer 37 ) 序列化二叉树2、解题思路方法:广度优先搜索(层序遍历)序列化: 1、标准的层序遍历模板,维持一个队列 2、返回指定的字符串形式的结果反序列化:也是层序遍历的思想,维持一个队列

2020-10-15 20:46:45 155

原创 JavaScript / TypeScript for LeetCode (158)

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

2020-10-15 20:12:42 62

原创 JavaScript / TypeScript for LeetCode (157)

是差点运气,可我一直在努力!当前进程:开始时间:2020.6.27结束时间:undefinedGitHub仓库:https://github.com/Cundefined/JavaScript-or-TypeScript-for-LeetCode1、题目要求( LeetCode – 第1002题 ) 查找常用字符2、解题思路1、统计第一个字符串的字符出现次数,之后用于更新为最小的出现次数2、统计字符串数组中每个字符串的字符出现次数 2.1、遍历tempCount,把tempC

2020-10-14 20:27:55 123

原创 JavaScript / TypeScript for LeetCode (156)

是差点运气,可我一直在努力!当前进程:开始时间:2020.6.27结束时间:undefinedGitHub仓库:https://github.com/Cundefined/JavaScript-or-TypeScript-for-LeetCode1、题目要求( LeetCode – 第530题 ) 二叉搜索树的最小绝对差2、解题思路方法:中序遍历注意:二叉搜索树的中序遍历是升序的结果,故最小的绝对值差一定会是两个相邻的节点之差!!! 1、在中序遍历时一边遍历一边比较

2020-10-12 20:02:29 129

原创 JavaScript / TypeScript for LeetCode (155)

是差点运气,可我一直在努力!当前进程:开始时间:2020.6.27结束时间:undefinedGitHub仓库:https://github.com/Cundefined/JavaScript-or-TypeScript-for-LeetCode1、题目要求( LeetCode-第416题 ) 分割等和子集2、解题思路方法:动态规划1、先计算所有元素总和,如果为奇数,那肯定不能等分成两个子集,返回false2、否则,为偶数,则可以,target=sum / 2,接下来目标就是找到一

2020-10-11 19:09:19 58

原创 JavaScript / TypeScript for LeetCode (154)

是差点运气,可我一直在努力!当前进程:开始时间:2020.6.27结束时间:undefinedGitHub仓库:https://github.com/Cundefined/JavaScript-or-TypeScript-for-LeetCode1、题目要求( 剑指 Offer 36 ) 二叉搜索树与双向链表2、解题思路 1、二叉搜索树中序遍历结果是从小到大排序的 2、对中序遍历的结果数组中的每个节点元素,进行遍历,连接节点关系,构成双向链表2.1、JavaScrip

2020-10-10 15:12:12 78

原创 JavaScript / TypeScript for LeetCode (153)

是差点运气,可我一直在努力!当前进程:开始时间:2020.6.27结束时间:undefinedGitHub仓库:https://github.com/Cundefined/JavaScript-or-TypeScript-for-LeetCode1、题目要求( 剑指 Offer 35 ) 复杂链表的复制2、解题思路利用map字典存储原链表节点和新链表节点的对应关系: 键为原链表节点,值为新链表节点注意:1、原链表节点与复制的新链表节点【val值要一样】 -- 复制节点值

2020-10-09 21:12:27 78

原创 JavaScript / TypeScript for LeetCode (152)

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

2020-10-09 20:22:39 99

原创 JavaScript / TypeScript for LeetCode (151)

是差点运气,可我一直在努力!当前进程:开始时间:2020.6.27结束时间:undefinedGitHub仓库:https://github.com/Cundefined/JavaScript-or-TypeScript-for-LeetCode1、题目要求( 剑指 Offer 33 ) 二叉搜索树的后序遍历序列2、解题思路方法:递归利用二叉搜索树后序遍历的特点: 1、postorder最后一个元素为当前树的根节点 2、左子树的所有元素小于该根节点 3、右子树

2020-10-09 19:55:39 111

原创 JavaScript / TypeScript for LeetCode (150)

是差点运气,可我一直在努力!当前进程:开始时间:2020.6.27结束时间:undefinedGitHub仓库:https://github.com/Cundefined/JavaScript-or-TypeScript-for-LeetCode1、题目要求( 剑指 Offer 32 - III ) 从上到下打印二叉树 III2、解题思路方法:广度优先搜索维护一个队列!!标准的BFS模板注意: 1、每一层需要装入临时数组中,再加入结果数组 2、利用res.lengt

2020-10-08 20:06:02 65

原创 JavaScript / TypeScript for LeetCode (149)

是差点运气,可我一直在努力!当前进程:开始时间:2020.6.27结束时间:undefinedGitHub仓库:https://github.com/Cundefined/JavaScript-or-TypeScript-for-LeetCode1、题目要求( 剑指 Offer 32 - II ) 从上到下打印二叉树 II2、解题思路方法:广度优先搜索维护一个队列!!标准的BFS模板注意:每一层需要装入临时数组中,再加入结果数组2.1、JavaScript Solution/

2020-10-08 19:43:13 75

原创 JavaScript / TypeScript for LeetCode (148)

是差点运气,可我一直在努力!当前进程:开始时间:2020.6.27结束时间:undefinedGitHub仓库:https://github.com/Cundefined/JavaScript-or-TypeScript-for-LeetCode1、题目要求( 剑指 Offer 32 - I ) 从上到下打印二叉树2、解题思路方法:广度优先搜索注意:维护一个队列!!标准的BFS模板2.1、JavaScript Solution/** * Definition for a b

2020-10-08 19:20:53 97

原创 JavaScript / TypeScript for LeetCode (147)

是差点运气,可我一直在努力!当前进程:开始时间:2020.6.27结束时间:undefinedGitHub仓库:https://github.com/Cundefined/JavaScript-or-TypeScript-for-LeetCode1、题目要求( LeetCode - 第75题 ) 颜色分类2、解题思路方法:双指针【荷兰国旗问题】1、创建两个边界,规定boundary1左边应该全是0,boundary2右边全是22、i指针复制遍历数组,遇到boundary2边界就停

2020-10-08 18:44:16 120

原创 JavaScript / TypeScript for LeetCode (146)

是差点运气,可我一直在努力!当前进程:开始时间:2020.6.27结束时间:undefinedGitHub仓库:https://github.com/Cundefined/JavaScript-or-TypeScript-for-LeetCode1、题目要求( 剑指 Offer 31 ) 栈的压入、弹出序列2、解题思路1、预判2、创建栈,数组模拟3、pushed第一个无论如何都得先进栈4、创建两个指针,p1负责遍历pushed序列,让元素入栈,p2负责遍历popped序列,让元素

2020-10-06 19:38:21 110

原创 JavaScript / TypeScript for LeetCode (145)

是差点运气,可我一直在努力!当前进程:开始时间:2020.6.27结束时间:undefinedGitHub仓库:https://github.com/Cundefined/JavaScript-or-TypeScript-for-LeetCode1、题目要求( 剑指 Offer 30 ) 包含min函数的栈2、解题思路解题思路:基于对象数组的最小栈【不用创建辅助栈,优化空间复杂度】1、在构造函数中,初始化成员变量,一个对象数组,用于构造最小栈,对象中保存当前元素和当前最小值2、pu

2020-10-06 19:03:16 79

原创 JavaScript / TypeScript for LeetCode (144)

是差点运气,可我一直在努力!当前进程:开始时间:2020.6.27结束时间:undefinedGitHub仓库:https://github.com/Cundefined/JavaScript-or-TypeScript-for-LeetCode1、题目要求( 剑指 Offer 29 ) 顺时针打印矩阵2、解题思路参考:【54.Spiral Matrix】1、判断输入是否为空,为空就返回空数组2、用left、right、top、bottom定义4个边界3、初始化遍历方向,依次是向

2020-10-05 20:16:33 116

原创 JavaScript / TypeScript for LeetCode (143)

是差点运气,可我一直在努力!当前进程:开始时间:2020.6.27结束时间:undefinedGitHub仓库:https://github.com/Cundefined/JavaScript-or-TypeScript-for-LeetCode1、题目要求( 剑指 Offer 28 ) 对称的二叉树2、解题思路方法:递归两个子树是否镜像对称的条件: 1、子树1当前节点值,与子树2当前节点值,相同 2、子树1当前节点的【左】子树,与子树2前节点的【右】子树,相同

2020-10-05 19:40:16 84

原创 JavaScript / TypeScript for LeetCode (142)

是差点运气,可我一直在努力!当前进程:开始时间:2020.6.27结束时间:undefinedGitHub仓库:https://github.com/Cundefined/JavaScript-or-TypeScript-for-LeetCode1、题目要求( LeetCode-第18题 ) 四数之和2、解题思路方法:排序 + 双指针排序:使得相同的元素靠在一起,方便去重双指针:固定两个数,while循环双指针去遍历其他的数2.1、JavaScript Solution/**

2020-10-05 19:17:42 65

原创 JavaScript / TypeScript for LeetCode (141)

是差点运气,可我一直在努力!当前进程:开始时间:2020.6.27结束时间:undefinedGitHub仓库:https://github.com/Cundefined/JavaScript-or-TypeScript-for-LeetCode1、题目要求( 剑指 Offer 27 ) 二叉树的镜像2、解题思路**方法:递归递归:1、递归结束条件2、递归获取左右子树3、获得的左右子树,重新连接到当前根节点4、返回根节点2.1、JavaScript Solution/*

2020-10-04 14:17:42 60

原创 JavaScript / TypeScript for LeetCode (140)

是差点运气,可我一直在努力!当前进程:开始时间:2020.6.27结束时间:undefinedGitHub仓库:https://github.com/Cundefined/JavaScript-or-TypeScript-for-LeetCode1、题目要求( 剑指 Offer 26 ) 树的子结构2、解题思路方法:递归1、isSubStructure函数递归: 三种情况: 1.1、B树与A树【整体结构】完全相同 (此情况又分为三种情况讨论,交付给helper

2020-10-04 14:01:56 66

原创 JavaScript / TypeScript for LeetCode (139)

是差点运气,可我一直在努力!当前进程:开始时间:2020.6.27结束时间:undefinedGitHub仓库:https://github.com/Cundefined/JavaScript-or-TypeScript-for-LeetCode1、题目要求( 剑指 Offer 25 ) 合并两个排序的链表2、解题思路方法:链表题,玩指针 * 1、利用ListNode(val, next)函数创建新有序链表的第一个空节点 * 2、保存当前节点指向的初始位置,方便后续返回结果直接找到

2020-10-04 13:11:41 57

原创 JavaScript / TypeScript for LeetCode (138)

是差点运气,可我一直在努力!当前进程:开始时间:2020.6.27结束时间:undefinedGitHub仓库:https://github.com/Cundefined/JavaScript-or-TypeScript-for-LeetCode1、题目要求( 剑指 Offer 24 ) 反转链表2、解题思路方法:链表题,玩指针1、创建三个指针prev、curr、next2、循环四部曲: 2.1、next=curr.next,先用next占住下一个节点,这样即使断开和下一节

2020-10-03 20:28:24 71

原创 JavaScript / TypeScript for LeetCode (137)

是差点运气,可我一直在努力!当前进程:开始时间:2020.6.27结束时间:undefinedGitHub仓库:https://github.com/Cundefined/JavaScript-or-TypeScript-for-LeetCode1、题目要求( 剑指 Offer 22 ) 链表中倒数第k个节点2、解题思路方法:链表题,玩指针1、创建两个指针fast、slow,初始化指向head2、for循环将fast往前移动k个节点,以此来和slow隔开长度为k的距离3、whil

2020-10-03 19:59:35 70

原创 JavaScript / TypeScript for LeetCode (136)

是差点运气,可我一直在努力!当前进程:开始时间:2020.6.27结束时间:undefinedGitHub仓库:https://github.com/Cundefined/JavaScript-or-TypeScript-for-LeetCode1、题目要求( 剑指 Offer 21 ) 调整数组顺序使奇数位于偶数前面2、解题思路方法一、首尾双指针解题思路:双指针方法一、首尾双指针方法二、快慢双指针解题思路:双指针方法二、快慢双指针优点:可使得一侧元素有序快慢双指针:两

2020-10-03 19:33:15 81

原创 JavaScript / TypeScript for LeetCode (135)

是差点运气,可我一直在努力!当前进程:开始时间:2020.6.27结束时间:undefinedGitHub仓库:https://github.com/Cundefined/JavaScript-or-TypeScript-for-LeetCode1、题目要求( 剑指 Offer 20 ) 表示数值的字符串2、解题思路考虑三种字符的合法情况:1、+-号只能出现在【最前面 或 紧接着e(E)的后面 】2、.前面,不能出现【. 或 e(E)】3、e(E)前面,不能出现e(E),只能出现

2020-10-02 20:53:15 96

原创 JavaScript / TypeScript for LeetCode (134)

是差点运气,可我一直在努力!当前进程:开始时间:2020.6.27结束时间:undefinedGitHub仓库:https://github.com/Cundefined/JavaScript-or-TypeScript-for-LeetCode1、题目要求( LeetCode-第771题 ) 宝石与石头2、解题思路方法一、哈希表哈希表HashMap方法二、利用字符的ASCII码A ~ z的ASCII码:65 ~ 1221、创建长度122-65+1=58的为数组,用于标记宝

2020-10-02 19:21:49 52

原创 JavaScript / TypeScript for LeetCode (133)

是差点运气,可我一直在努力!当前进程:开始时间:2020.6.27结束时间:undefinedGitHub仓库:https://github.com/Cundefined/JavaScript-or-TypeScript-for-LeetCode1、题目要求( LCP 19 ) 秋叶收藏集2、解题思路方法:动态规划1、状态:f[i][j] 前i个字符组成第j种组合(j取0,1,2分别对应红,红黄,红黄红)所需要的最小调整次数2、状态转移方程 2.1、f[i][0] :

2020-10-01 19:57:41 72

原创 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 91

原创 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 93

原创 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 49

原创 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 70

原创 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 111 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 50

原创 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 52

原创 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 79

原创 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 57

空空如也

空空如也

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

TA关注的人

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