- 博客(11)
- 收藏
- 关注
原创 代码随想录二叉树Day6: LeetCode 654.最大二叉树 617.合并二叉树 700.二叉搜索树中的搜索 98.验证二叉搜索树
*递归返回值及参数:**返回值是构建完成的二叉树的根节点,参数是数组,数组起始下标begin,数组终止下标end。如果树1的该节点为空,就将该节点置为树2节点,同理,如果树2节点为空,就把该节点置为树1节点。**递归返回值及参数:**返回值是构建完成的二叉树的根节点,参数是两棵二叉树的根节点指针。二叉搜索树是一棵有序树,保证左子树节点上的值都小于根节点,右子树节点上的值都大于根节点。**递归返回值及参数:**返回值是寻找到节点的指针,参数是根节点指针和目标值。3.遍历右子树,遍历结果用right保存。
2024-02-04 23:31:28
617
1
原创 代码随想录Day13:239.滑动窗口最大值,347.前 K 个高频元素
1.后进窗口的值如果比先进窗口的大,那么前面的比它小的值全部从窗口删除(因为先进窗口的肯定比后进窗口的先滑走,同时后进的值已经经比前面的值大了,前面的不会比后面的存活时间更长,所以成为最大值的可能性是0)2.后进窗口的值如果比前面的值小,那么排在前面元素值的后面,等待前面元素从窗口滑走,它就是下一个最大的。当最前端的元素要从窗口滑走时,从前pop,当进队元素比队中一些元素大时,从后pop。之后将要被滑出的元素pop,滑进来的元素push,再取一个最大值放进结果数组。3.这样在队首的就是此时窗口的最大值。
2024-01-04 21:16:06
630
原创 代码随想录Day11:20.有效的括号,1047. 删除字符串中的所有相邻重复项,150.逆波兰表达式求值
遍历字符串,如果此时栈空或者栈顶元素和此时遍历到的元素不同,就入栈。使用一个字符串接收栈中元素,但此时是逆序的,再反转字符串。逆波兰表达式对运算符前的两个数求值。大概分两种情况,左括号和右括号。与栈顶元素相同,则将栈顶元素弹出。采用栈,对token遍历。
2024-01-03 21:49:08
1148
原创 代码随想录Day10:232.用栈实现队列,225.用队列实现栈
思路:出栈时候让最后一个元素前的元素都重新排队到队尾,队首元素就是需要pop的元素了。主要实现了四个功能,入队,出队,获取队首元素,判空。思路:用两个栈实现队列,一个是入栈,一个是出栈。实现功能:入栈、出栈、获取栈顶元素、判空。
2024-01-03 17:54:01
612
原创 代码随想录Day8:344.反转字符串,541.反转字符串II,卡码网54.替换数字,151.反转字符串中的单词,卡码网55.右旋字符串
在这个方法的基础上,判断需要补上空格的位置,即除第一个单词之外的每个单词的词首都需要补上空格;当快指针遍历到空格或串尾时,代表这个单词结束了,所以这个单词的最后一位字母下标是快指针-1;终止条件:左指针小于右指针(如果是奇数,相等的情况是只剩一个字母,不必交换)双指针,左指针从前向后遍历,右指针从后向前,交换左右指针所指的字母。慢指针指向快指针下一位(即空格的下一位,下一个单词的开头);如果少于k个字符,则全部翻转,其余情况都是翻转前k个。先将字符串整个反转,再将前k个反转,再将k-结尾反转。
2024-01-02 17:38:12
1116
原创 代码随想录Day7:454.四数相加II,383.赎金信,15.三数之和,18.四数之和
454.四数相加II383.赎金信15.三数之和18.四数之和。
2023-12-27 21:28:59
419
原创 代码随想录Day6:242.有效的字母异位词 349. 两个数组的交集 202. 快乐数 1. 两数之和 C++
242.有效的字母异位词349. 两个数组的交集202. 快乐数1. 两数之和。
2023-12-18 11:39:35
173
原创 代码随想录Day4: 24. 两两交换链表中的节点 19.删除链表的倒数第N个节点 面试题 02.07. 链表相交 142.环形链表II
文章目录24. 两两交换链表中的节点19.删除链表的倒数第N个节点面试题 02.07. 链表相交142.环形链表II24. 两两交换链表中的节点题目链接/文章讲解/视频讲解: https://programmercarl.com/0024.%E4%B8%A4%E4%B8%A4%E4%BA%A4%E6%8D%A2%E9%93%BE%E8%A1%A8%E4%B8%AD%E7%9A%84%E8%8A%82%E7%82%B9.html设置虚拟头节点每次需要交换两个点,所以需要next和next->
2023-12-17 21:10:36
304
原创 代码随想录Day3:203.移除链表元素、707.设计链表、206.反转链表
题目链接/文章讲解/视频讲解::https://programmercarl.com/0203.%E7%A7%BB%E9%99%A4%E9%93%BE%E8%A1%A8%E5%85%83%E7%B4%A0.html。当遍历指针的下一个节点值为目标值时,用tmp存储下一个节点,将当前遍历指针的next修改为tmp的next,之后删除tmp指向的内存。最后的头节点是dummynode的next节点,将头节点指向dummynode->next,删除dummynode,返回头节点.
2023-12-17 01:55:49
647
原创 代码随想录Day2:leetcode 977.有序数组的平方 ,209.长度最小的子数组 ,59.螺旋矩阵II C++
977.有序数组的平方209.长度最小的子数组59.螺旋矩阵 C++
2023-12-14 23:03:25
216
原创 代码随想录Day1:704二分查找、27移除元素、35搜索插入位置 C++
文章讲解:https://programmercarl.com/0027.%E7%A7%BB%E9%99%A4%E5%85%83%E7%B4%A0.html。第 2 3 4 种情况,都是704中找不到的情况,即已经循环到最后,所以最后一圈循环的条件是l == r。二分的思路大概知道,但是实现起来就不会了,看了题解之后理解了l和r控制的是区间,思路清晰了好多。第一种情况,与704一致,能够查找到元素,此时的mid就是要找的位置,return mid。二分查找,最后返回的位置需要理解。
2023-12-13 17:40:38
121
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅