自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 代码随想录第14天 | 226.翻转二叉树 101. 对称二叉树 (优先掌握递归 104.二叉树的最大深度 (优先掌握递归)111.二叉树的最小深度 (优先掌握递归)

2. swapChildren的方法是用来交换当前递归到的节点。需要注意特殊情况,题目所说的最小深度是指从。1. 递归到当前节点左右子树。的最短路径上的节点数量。的左子节点和右子节点。

2024-07-09 18:18:23 482

原创 代码随想录第13天 | 二叉树 递归遍历 迭代遍历 统一迭代 层序遍历

【代码】代码随想录第13天 | 二叉树 递归遍历 迭代遍历 统一迭代 层序遍历。

2024-07-07 22:40:13 283

原创 代码随想录第12天 | 150. 逆波兰表达式求值 239. 滑动窗口最大值 347.前 K 个高频元素

使用哈希表来统计每个元素的出现频率,再利用优先队列(最小堆)来找出频率最高的 K 个元素。当输入是字符串时,这个方法尝试将字符串解析为整数值。这个方法用于将字符串转换成一个。类的一个静态方法,它接收一个字符串或。是一个调用 Java 标准库中。类型的参数,并返回一个对应的。

2024-07-06 02:09:30 318

原创 代码随想录第11天 | 232.用栈实现队列 225. 用队列实现栈 20. 有效的括号 1047. 删除字符串中的所有相邻重复项

遍历结束后,栈中剩下的字符就是删除所有相邻重复项后的结果。将这些字符从栈中弹出并拼接起来,得到最终的字符串。:如果栈为空,则所有括号正确匹配,字符串有效。如果栈中仍有元素,表示有未匹配的开括号,字符串无效。使用两个栈实现一个队列,使用两个栈相互配合,来逆转其中一个栈的顺序。:创建一个空栈用来存放待匹配的闭括号。:创建一个空栈来存储还未被删除的字符。

2024-07-01 18:48:28 368

原创 代码随想录第九天 | 151.翻转字符串里的单词 卡码网:55.右旋转字符串 28. 实现 strStr() 459.重复的子字符串

1. 移除多余的空格首先去除字符串中不必要的空格。这包括字符串开头和末尾的空格以及单词之间的多余空格。使用快慢指针。fastslow使用双指针技术,从字符串的两端开始,逐步向中心移动,交换字符的位置,从而实现整个字符串的反转。

2024-07-01 02:23:11 556

原创 代码随想录第八天 | 344.反转字符串 541. 反转字符串II 卡码网:54.替换数字

一个指针指向数组的开头,另一个指向数组的末尾。通过交换这两个指针所指向的元素,然后移动指针,直到两个指针相遇,完成数组的反转。为了避免替换过程中重新处理已经替换的部分,从字符串的末尾开始向前工作,逐步构建新的字符数组。:将输入的字符串转换为字符数组,同时统计字符串中数字字符的数量,以计算需要扩展的数组大小。使用字符数组来操作字符串,通过从后向前替换的方式避免替换过程中重复解析已替换部分的问题。提供一个简单的命令行界面,让用户输入字符串,并显示替换结果。:定义一个辅助函数来实现数组中指定区间内字符的反转。

2024-06-30 19:23:34 418

原创 代码随想录训练营第七天 | 454.四数相加II 383. 赎金信 15. 三数之和 18. 四数之和

计算所有可能的两数之和的负值,并查找这个和是否已经在之前的哈希表中存储过。如果存储过,那么可以直接使用哈希表中存储的计数来增加答案的总数,因为哈希表中的计数表示第一部分中和为该值的组合数量。,计算所有可能的两数之和,并利用哈希表存储每个和出现的次数。这样,哈希表的键是两数之和,值是该和出现的次数。2. 遍历加双指针:固定一个数,使用两个指针分别指向这个数后面的开始和数组的末尾,作为另外两个数。通过调整这两个指针,寻找和为零的三元组。字符串中的每个字符进行计数,统计每个字符出现的次数。

2024-06-30 06:11:11 489

原创 代码随想录训练营第五天 | 242.有效的字母异位词 ● 349. 两个数组的交集 ● 202. 快乐数● 1. 两数之和

遍历第二个字符串,减少哈希表中的计数。因为在本题中我们需要返回的是小标,所以将key设置为具体的数值,value设置为数组中的小标。)来记录每一步计算得到的数字。通过将数组元素存储到哈希表中,同时检查target和当前元素的差值是否已经在哈希表中存在。遍历第二个数组中的每个元素,检查每个元素是否存在于之前创建的哈希集合。是一个 Set,它会自动处理重复元素,保证集合中每个元素的唯一性。的特性,实现了从数组到集合的转换,并自动地去除了数组中的重复元素。,用来计算给定数字的下一个数,即它的各位数字的平方和。

2024-06-30 00:39:44 454

原创 代码随想录训练营第三天| 24. 两两交换链表中的节点 19.删除链表的倒数第N个节点 面试题 02.07. 链表相交 142.环形链表II

1. 设置一个dummyhead,cur指向dummyhead2. 在步骤一中,cur指向2,即cur.next = cur.next.next,在这个过程中,原先cur指向1的方向已经断开,无法再找到1的确切位置。所以需要提前设定一个临时指针保存1,即3. 在步骤二中,cur.next = temp1;原先2指向3的指针断开,无法获取3的确切位置,所有需要一个临时指针保存3,即4. 步骤三中,temp1.next.next = temp2;19.删除链表的倒数第N个节点。

2024-06-26 22:29:12 475

原创 代码随想录训练营第三天|203 移除链表元素、707.设计链表、 206.反转链表

2. 最后的返回值为dummyNode.next,是为了代码统一,这里包含了头节点被删除的情况。1. 在设置虚拟头节点时,将值设为value - 1,是为了确保它不同于链表中的任何可能值。cur遍历,pre指向cur之前的指针。3. 遍历列表时设置一个指针来遍历。Leetcode 707 设计链表。Leetcode 206 反转链表。注意点:需要考虑头节点是否为空。

2024-06-26 17:03:15 218

原创 代码随想录训练营第二天|977.有序数组的平方 ,209.长度最小的子数组 ,59.螺旋矩阵II

1. 因为是有序数组,并且数组中会存在负数,所以在平方后会出现两边比中间大的现象。所以在使用双指针方法时,我们可以采取双指针,i指向起始位置,j指向尾部。在螺旋遍历矩阵时,我们需要按照“右、下、左、上”的顺序依次遍历,并在遍历完一圈后,逐渐缩小边界,直至遍历完整个矩阵。从窗口内开始移除 start指针指向的元素,并将start 指针右移一位。4. 将较大的平方值放入结果数组的末尾位置,并移动对应的指针。2. 使用end指针向右扩展窗口,同时累加窗口内的元素和。和 end,它们分别指向数组的起始位置。

2024-06-23 08:16:50 277 1

原创 代码随想录训练营第一天|704二分查找、27移除元素

当快指针指向的元素不等于要移除的元素时,将其复制到慢指针的位置,然后慢指针向前移动一位。如果快指针指向的元素等于要移除的元素,快指针继续前移而慢指针保持不动。1. 循环条件:while (left <= right) 要使用 <= ,因为left == right是有意义的,所以使用 <=1. 循环条件:while (left < right) 要使用 <=,因为left == right是没有意义的,所以使用 <1. 定义target的区间,有两种方式,一种是左闭右闭,一种是左闭右开。

2024-06-21 16:39:27 590

空空如也

空空如也

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

TA关注的人

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