自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 剑指 Offer II 014. 字符串中的变位词

给定两个字符串s1和s2,写一个函数来判断s2是否包含s1的某个变位词。换句话说,第一个字符串的排列之一是第二个字符串的输入输出True解释s2包含s1的排列之一("ba").输入输出False我们可以简单理解为无论字符如何排序,只要确保字符中的所有字符出现的次数和原先字符中所有字符出现的次数一致即可。我们可以发现变位词和原单词之间具有如下关系1.所以字符出现的次数都是一样。2.字符串均保持连续性。...

2022-07-20 17:02:21 99 1

原创 剑指 Offer II 011. 0 和 1 个数相同的子数组(前缀和)

求含有相同数量的0和1的最长连续子数组,使用前缀和的解法,将数组中的0替换为-1,如果某个区间内的和如果为0就说明这个区间之间的0和1的数量相同。给定一个二进制数组nums,找到含有相同数量的0和1的最长连续子数组,并返回该子数组的长度。说明[0,1](或[1,0])是具有相同数量0和1的最长连续子数组。说明[0,1]是具有相同数量0和1的最长连续子数组。看了题解,觉得自己真的是个傻x;...

2022-07-20 12:08:51 108

原创 491. 递增子序列

491. 递增子序列每次list添加元素时, set也添加,如果此次添加的元素set中包含的有的话,就continue。代码: 当然也可以先全部添加至HashSet里, set自带去重性质,全部遍历添加进去后,再遍历set,一个一个加入到我们保存结果的res中,但这样做的空间时间复杂度比较大...

2022-06-29 11:18:12 115

原创 剑指 Offer 65. 不用加减乘除做加法

剑指 Offer 65. 不用加减乘除做加法https://leetcode.cn/problems/bu-yong-jia-jian-cheng-chu-zuo-jia-fa-lcof/题目:是一道需要我死记硬背的题目了每次遇到 位运算 的题目,我就无能为力,二进制杀我!!!!我们注意看 异或运算我们注意看 与运算 我们可以看见 第一二 步骤相加的结果 就是 1100+1111 的结果 = 11011但是题目明确说到,不能使用 + - * % 加减乘除借用一下大神的图:@陆艰步走从上图,你大概可以看出,这

2022-06-28 11:29:01 65

原创 剑指 Offer 58 - I. 翻转单词顺序

本题通过双指针求解,设置两个指针 i j 倒序遍历字符串。1、首先去掉两端的空格,s.trim() ----------------此语句可以去掉字符串两端的空格。2、将 i j,置于字符串的末尾开始遍历,i 像左移动,如果遇到空格,则可以确定一个单词的边界,则将其添加至列表中; (i+1就是单词的首字母);添加完成后,继续判定 i 是否为空格 ,若一直是空格,则不断左移,直到遇到不是空格,将 j 置于此时的 i 处。 又不断重复第二步。3. 最后将列表拼接为字符串返回(此时要注意不能仅仅是 toStrin

2022-06-22 16:08:12 58

原创 剑指 Offer 57 - II. 和为s的连续正数序列

剑指 Offer 57 - II. 和为s的连续正数序列我们可以考虑采用滑动窗口的思想:滑动窗口的重要性质是:窗口的左边界和右边界永远只能向右移动,而不能向左移动。我们该如何控制窗口的大小:1. 当 sum > target, 说明窗口的的值多了,那么窗口的左边界向右移动(减去左边的值);2. 当 sum < target, 说明窗口的的值少了,那么窗口的右边界向右移动(加上右边的值);3. 当 sum = target, 此时记录结果,窗口大小为 [left,right),为了序列不重复,我们已经找到了

2022-06-22 11:18:33 46

原创 剑指 Offer 34. 二叉树中和为某一值的路径

剑指 Offer 34. 二叉树中和为某一值的路径一定要把二叉树的题都做一遍 T^T 要找出所有 从根节点到叶子节点 路径总和等于给定目标和的路径。那么我们需要遍历二叉树,才能找出所有符合条件的结果,此时我第一时间想到的是:回溯法 ,如果在遍历二叉树的时候,如果每次一个路径。从根节点到叶子节点时,路径总和不等于目标和的,那么我们就减去最后一个元素,再进行递归递归停止的条件是: 当遍历的节点为空的时候我们定义一个List用来保存所有的结果和,一个List用来保存其中一个路径。...

2022-06-20 12:08:19 38

原创 701.二叉搜索树中的插入操作

701.二叉搜索树中的插入操作

2022-06-06 16:17:52 45

原创 剑指 Offer 68 - II. 二叉树的最近公共祖先

剑指 Offer 68 - II. 二叉树的最近公共祖先

2022-06-06 15:49:55 35

原创 剑指 Offer 68 - I. 二叉搜索树的最近公共祖先

剑指 Offer 68 - I. 二叉搜索树的最近公共祖先我们使用递归的方法

2022-06-06 15:20:41 37

原创 700.二叉搜索树中的搜索

700.二叉搜索树中的搜索给定二叉搜索树(BST)的根节点root和一个整数值val。你需要在 二叉搜索s中找到节点值等于val的节点。 返回以该节点为根的子树。 如果节点不存在,则返回null。输入:root = [4,2,7,1,3], val = 2输出:[2,1,3]二叉搜索树满足如下性质:左子树所有节点的元素值均小于根的元素值; 右子树所有节点的元素值均大于根的元素值。我们可以使用递归算法,可以得如下:若 root 为空 或者 root...

2022-05-31 16:44:08 78

原创 617. 合并二叉树

​​​​​​617. 合并二叉树https://leetcode.cn/problems/merge-two-binary-trees/给你两棵二叉树: root1 和 root2 。想象一下,当你将其中一棵覆盖到另一棵之上时,两棵树上的一些节点将会重叠(而另一些不会)。你需要将这两棵树合并成一棵新二叉树。合并的规则是:如果两个节点重叠,那么将这两个节点的值相加作为合并后节点的新值;否则,不为 null 的节点将直接作为新二叉树的节点。 返回合并后的二叉树 注意: 合并过程必须..

2022-05-31 16:01:04 34

原创 LeetCode 654. 最大二叉树

LeetCode 654. 最大二叉树给定一个不重复的整数数组nums 。最大二叉树可以用下面的算法从nums 递归地构建: 1. 创建一个根节点,其值为nums 中的最大值。 2. 递归地在最大值左边的子数组前缀上构建左子树。 3. 递归地在最大值 右边 的子数组后缀上构建右子树。返回nums 构建的 最大二叉树 。输入:nums = [3,2,1,6,0,5]输出:[6,3,5,null,2,0,null,nu...

2022-05-31 11:59:40 142

原创 LeetCode257. 二叉树的所有路径

LeetCode257. 二叉树的所有路径题目:给你一个二叉树的根节点root,按任意顺序,返回所有从根节点到叶子节点的路径。叶子节点是指没有子节点的节点。示例 1:输入:root = [1,2,3,null,5]输出:["1->2->5","1->3"]利用深度优先搜索算法如果当前遍历的节点是叶子节点(节点的左右子树都为null),那么在当前路径末尾添加该节点后,就得到了一条从根节点到叶子节点的路径,并将该路径添加至list中...

2022-05-27 22:03:43 76

原创 LeetCode129. 求根节点到叶节点数字之和 (dfs)

LeetCode129. 求根节点到叶节点数字之和给你一个二叉树的根节点 root ,树中每个节点都存放有一个 0 到 9 之间的数字。每条从根节点到叶节点的路径都代表一个数字:例如,从根节点到叶节点的路径 1 -> 2 -> 3 表示数字 123 。计算从根节点到叶节点生成的 所有数字之和 。 (叶节点 是指没有子节点的节点)...

2022-05-27 10:22:58 121

原创 LeetCode 54 && 59 螺旋矩阵

给你一个m行n列的矩阵matrix,请按照顺时针螺旋顺序,返回矩阵中的所有元素输入:matrix = [[1,2,3],[4,5,6],[7,8,9]]输出:[1,2,3,6,9,8,7,4,5]输入:matrix = [[1,2,3,4],[5,6,7,8],[9,10,11,12]]输出:[1,2,3,4,8,12,11,10,9,5,6,7]可以采用模拟运动轨迹法来得到输出的数组将矩阵 上、下、左、右 分别看成四个边界 t、b、l、r(这...

2022-04-08 16:30:16 52

原创 LeetCode 704 二分查找

写这个博客只是为了记录自己刷的题喔~~~(小白程序媛努力学习中)LeetCode 704 二分查找题目:给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1。示例 1:输入: nums = [-1,0,3,5,9,12], target = 9 输出: 4 解释: 9 出现在 nums 中并且下标为 4 示例 2:输入: num

2022-03-28 10:26:38 305

原创 剑指 Offer 05. 替换空格——自己刷题默默记录

写这个博客只是为了记录自己刷的题喔~~~(小白程序媛努力学习中)剑指 Offer 05. 替换空格题目:请实现一个函数,把字符串s中的每个空格替换成"%20"。输入:s = "We are happy."输出:"We%20are%20happy."第一次刷题脑袋里面直接蹦出来的想法是:是将空字符串直接替换为 %20但是Java 中的字符串是不变的,所以直接替换是不行的。所以我们只能够通过Java 中有个 StringBuilder 、StringBuffer是表达...

2022-03-08 17:07:41 73

空空如也

空空如也

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

TA关注的人

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