代码随想录
代码随想录训练营
stupidyinu
这个作者很懒,什么都没留下…
展开
-
代码随想录算法训练营第十六天|104.二叉树的最大深度 559.n叉树的最大深度● 111.二叉树的最小深度● 222.完全二叉树的节点个数
最大深度其实就是根节点的高度。前序遍历求得是深度,后序遍历求的是根节点的高度,两种方法都可以得出二叉树的最大深度。原创 2024-01-19 17:51:39 · 496 阅读 · 1 评论 -
代码随想录算法训练营第十五天|层序遍历 10 ● 226.翻转二叉树 ● 101.对称二叉树 2
层序遍历是从左到右一层一层的遍历二叉树,需要借用一个辅助数据结构即队列来实现,其中while循环每执行一次层数加一,for循环则用来遍历每一层中的所有元素。原创 2024-01-16 21:33:46 · 439 阅读 · 1 评论 -
代码随想录算法训练营第十一天|20. 有效的括号,1047. 删除字符串中的所有相邻重复项,150. 逆波兰表达式求值
第一种情况,字符串里左方向的括号多余了 ,所以不匹配。第二种情况,括号没有多余,但是 括号的类型没有匹配上。第三种情况,字符串里右方向的括号多余了,所以不匹配。原创 2024-01-06 22:30:07 · 409 阅读 · 1 评论 -
代码随想录算法训练营第十天|理论基础,232.用栈实现队列,225. 用队列实现栈
用一个栈显然没有办法实现队列操作,所以初始化两个栈,一个用来存放入栈数据,一个用来存放出栈数据。原创 2024-01-06 10:04:55 · 360 阅读 · 1 评论 -
代码随想录算法训练营第八天|344.反转字符串, 541. 反转字符串II,卡码网:54.替换数字,151.翻转字符串里的单词,卡码网:55.右旋转字符串
这道题很简单,没什么好说的。原创 2024-01-04 11:35:23 · 403 阅读 · 1 评论 -
代码随想录算法训练营第七天|454.四数相加II,383. 赎金信,15. 三数之和,18. 四数之和,总结
这道题目就是跟着代码随想录上面的思路来的,卡哥给的思路还是很清晰的。主要就是把四个数组分成两组,巧妙的把问题化解,由原本的四数相加变成两数相加,然后把所有的可能加在一起返回。原创 2024-01-02 22:33:08 · 894 阅读 · 0 评论 -
代码随想录算法训练营第四天| 24. 两两交换链表中的节点,19.删除链表的倒数第N个节点,面试题 02.07. 链表相交,142.环形链表II
主要的思路就是定义一个虚拟头结点,cur指向虚拟头节点,让cur的下下个节点指向下一个节点即可。看图还是比较清晰的。原创 2023-12-31 09:51:17 · 360 阅读 · 1 评论 -
代码随想录算法训练营第三天| 链表理论基础 203.移除链表元素 707.设计链表 206.反转链表
这道题挺简单,但是在做的时候总是超出时间限制,始终搞不明白原因,然后发现只写了找到删除的值的情况。所以写的时候思路一定要清晰,每一步一定要构思好,明明是很低级的错误,一定要记住。原创 2023-12-30 10:28:25 · 367 阅读 · 1 评论 -
代码随想录算法训练营第二天 | 977.有序数组的平方 ,209.长度最小的子数组 ,59.螺旋矩阵II
第一题还是比较简单,暴力解法很好想到,可以先把数组中的所有元素求平方,然后排序就行。至于双指针的解法一时间没想到,毕竟还是菜鸟经验少,不过看了之后还是很清晰的。两个指针分别指向数组的头部和尾部,取平方之后判断两个值的大小,大的放在新数组的末尾,并且指针移动一位,下一个循环再进行比较。原创 2023-12-29 10:05:25 · 330 阅读 · 1 评论 -
代码随想录算法训练营第一天| 704. 二分查找、27. 移除元素。
当数组元素不等于目标值时,快慢指针先后向前移动,当找到要删除的元素时,快指针移动。实现的效果就是慢指针跳过了要删除的元素,从而实现数组元素的删除。还可以通过双指针来实现数组元素的移除,用一个快指针一个慢指针来实现,此方法不会改变数组元素的相对位置,并且时间复杂度低。由于数组空间是连续的,移除元素也就意味着要把该元素后面的所有元素向前移一位。值得注意的点:数组空间是连续的——所以在增加或删除元素时要修改其他元素;之前从来没写过这种博客,自己的基础也不是很好,希望能坚持下去。原创 2023-12-27 20:14:33 · 391 阅读 · 1 评论 -
代码随想录算法训练营第六天| 哈希表理论基础,242.有效的字母异位词,349. 两个数组的交集,202. 快乐数,1. 两数之和
创建一个存放字母下标的record数组,判断字符串中每出现一个字母对应下标就+1;另一个字符串每出现一个字母就-1;最后如果record数组全部为0;那么说明两个字符串所有字母和个数相同,即为字母异位词,返回true,否则返回false。原创 2024-01-02 10:48:37 · 332 阅读 · 0 评论