自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Day10|二叉树的递归遍历、二叉树的迭代遍历

3. 中序遍历, 先遍历加入左孩子结点, 如果左孩子结点为空则弹出栈顶元素, 右孩子结点不为空则加入右孩子结点, 如果右孩子孩子结点为空则其为叶子结点,继续弹出栈顶元素 (左根右)写完了递归算法, 运行的时候,经常会遇到栈溢出的错误,就是没写终止条件或者终止条件写的不对,操作系统也是用一个栈的结构来保存每一层递归的信息,如果递归没有终止,操作系统的内存栈必然就会溢出。二叉树的遍历理解了递归和迭代遍历的方法, 用函数栈来递归遍历, 用栈来迭代遍历, 两种方法都要掌握.二叉树的统一迭代二刷的时候再来理解吧。

2023-10-30 17:50:40 89 1

原创 Day9| 239. 滑动窗口最大值/ 347.前 K 个高频元素

239. 滑动窗口最大值 (一刷至少需要理解思路给你一个整数数组nums,有一个大小为k的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的k个数字。滑动窗口每次只向右移动一位。返回滑动窗口中的最大值思路:今天从这里学到了单调栈的思路以及具体的一些实现。但是仍然有一些问题和思考需要去理解和记住。

2023-10-28 11:09:28 48

原创 Day8| 20. 有效的括号、1047. 删除字符串中的所有相邻重复项 、150. 逆波兰表达式求值

给定一个只包括 '(',')','{','}','[',']' 的字符串,判断字符串是否有效。思路:对栈有了一些理解后,看了Carl的思路讲解,然后独立AC了本道题。主要思路就是注意三点。一、字符串左括号是否多余?二、字符串括号顺序是否正确?三、字符串右括号是否多余?当我们遇见左括号时,我们先按顺序将左括号对应的右括号存入栈中,如果遇见对应的右括号,就从栈里面删除,直到最后栈为空则字符串有效。情况一:情况二:情况三:代码理解这种思路, 左右对应,左添右删。

2023-10-26 21:53:41 52

原创 Day7|232.用栈实现队列、225. 用队列实现栈

队列是先进先出,后进入的元素在队列底部。如果要用栈模拟队列,我们可以使用两个栈,第一个栈顺序压入,然后第二个栈顺序取出然后顺序压入 ,这样我们得到的就是一个第一次进栈时完全相反的顺序。队列是先进先出, 要模拟先进后出的栈, 只需要一个队列就能够完成. 如果要移除栈顶元素, 就必须把队列前面的元素全部提出再重新压入队列, 将队列最后的元素提到队列的首元素.请你仅使用两个队列实现一个后入先出(LIFO)的栈,并支持普通栈的全部四种操作(大家惯性思维,以为还要两个队列来模拟栈,其实只用一个队列就可以模拟栈了。

2023-10-25 22:51:03 39 1

原创 Day6|454.四数相加II/383. 赎金信/15. 三数之和/18. 四数之和

454.四数相加II。

2023-10-18 12:03:05 40 1

原创 Day5|242.有效的字母异位词/ 349. 两个数组的交集/202. 快乐数/ 1. 两数之和

Carl使用一个数组来充当哈希表, 数组索引即为字符在英文字母的位置, 同时也是英文字母的键, 数组存取的内容是英文字母出现的次数, 先存进一个字符串的内容, 然后再通过另一个字符串的内容来让数组减去, 这样来说只需要一个哈希表就能够解决问题. 如果用我的map容器应该也能解决, 也就是map容器来充当这个数组, 其实本质都是相同的.中, 然后在这个容器中遍历,完成代码的时候遇到了很多挫折, 最主要的原因是对STL容器的不熟悉, 比如最后返回的是vector类型, 可是我的内容定义在set容器里.

2023-10-16 23:15:27 33 1

原创 Day4|24. 两两交换链表中的节点/19.删除链表的倒数第N个节点/面试题 02.07. 链表相交/142.环形链表II

昨天的链表删除元素刚好练习了正向删除元素. 因此我的思路就是: 正向遍历整个链表然后得到链表的长度length, 然后再使用长度length - n找到索引, 通过循环递减索引, 找到要删除结点得到前置结点, 然后删除这个结点.交换结点的大致思路, 可是当cur指针指向的结点完成交换后, 其前继结点消失了, 因此我们得再加一个指针来指向当前pre指针的前继结点.接着我们要交换的是结点3和结点4, 同理, 那么pre就该指着当前tmp的位置, cur指向结点3的位置, tmp指向结点4的位置..

2023-10-14 23:09:58 60 1

原创 Day3| 203.移除链表元素/707.设计链表/206.反转链表

理解链表的定义, 其实链表就是一种地址不连续的数组, 为了访问下一个节点, 在链表中定义了指针, 指向下一个节点的地址, 这样我们就可以读取到节点中的值.为了找到这个链表的位置, 我们必须定义一个来指向第一个节点中的元素最后一个节点的指针指向的是NULL题意:删除链表中等于给定值 val 的所有节点。示例 1: 输入:head = [1,2,6,3,4,5,6], val = 6 输出:[1,2,3,4,5]示例 2: 输入:head = [], val = 1 输出:[]

2023-10-13 14:59:13 196

原创 Day2|977.有序数组的平方/209.长度最小的子数组/59.螺旋矩阵II

可以理解为左右指针中间窗口的sum为两指针的“共同财产”,就是右指针一直在努力工作挣钱,好不容易共同财产大过target,记录一下两指针之间的距离,结果左指针就开始得瑟挥霍,不停花钱(往右移动),结果花钱一直花到sum又小过target,此时右指针不得不再次出来工作,不停向右移动,周而复始,最后取左右指针离得最近的时候。其实也跟双指针有很大的关系, "最后取左右指针离得最近的时候", 这里的条件是: 直到右指针无法再挣到钱(即 右指针 == nums.size()的时候), 感觉解释的已经非常清楚了.

2023-10-12 21:23:35 369

原创 Day1|数组算法学习:704. 二分查找、27. 移除元素。

算法打卡第一天

2023-10-11 17:25:32 613

原创 误删注册表文件夹“双击打开”

关于误删双击打开文件夹的注册表问题

2023-09-08 21:56:43 471

空空如也

空空如也

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

TA关注的人

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