自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【KOKO-代码随想录算法训练营Day 17 |110|257|404】

后序遍历就是从叶子节点开始,计算高度,left=getHeight();就是第一个最左侧的叶子节点的值已记录,回到了该叶子节点处,然后取右叶子节点的子节点,收获值后再在左侧第一个叶子节点处比较取得最大值后向上传递。节点处收获比较值。回溯就是在递归后做的操作,是终止条件满足后的下一步操作,即终止节点的上一个节点。叶子节点判断方法:root!要判断一个节点是不是左叶子节点,需要根据父节点去判断,即root.left!null;右子树只需把节点传入即可。

2023-11-01 02:19:30 133 1

原创 【KOKO-代码随想录算法训练营Day 16 | 104|111 |222 】

取左右子树较大的值。深度为根节点到最远叶子节点的路径上的节点数注意最小深度是从根节点出发到叶子节点,若根节点只有一个子树,则最小深度并不是1 .因此要判断左右节点同时不为null时再进行计算,一个为null,需要传入另一个子树。左+右+1即可。,对左右子树进行计算。也可以用层序遍历,用result在弹出元素时做++即可。while (!result++;

2023-10-28 02:28:50 81 1

原创 【 KOKO-代码随想录算法训练营Day 15| 层序遍历10| 226| 101】

使用队列去记录,并用size记录层的大小,size–>0时,从队列弹出元素使用递归前序遍历,反转每个中间节点后反转左右节点。要判断是不是二叉树,要看左边的左是否等于右边的右,左边的右是否等于右边的左。两个都相等时才说明这一层对称,将结果返回给上个节点。这种先收集叶子节点的应该使用后序遍历,左,右,中。中间去判断左和右是否都是对称的。确定左的返回值:boolean,右:boolean最终返回值:boolean,左的左,右的右比。再左的右,右的左比,实际上是左右节点在比较。

2023-10-27 02:01:16 79 1

原创 【KOKO-代码随想录算法训练营Day 14 |144 |145 | 94】

递归遍历,方法就是俩叉递归遍历三部曲:确定参数和返回值确定终止条件确定递归逻辑。后序即为前序遍历中右左的反转,则遍历时栈应先push root.left。

2023-10-27 01:41:33 89 1

原创 【KOKO-代码随想录算法训练营Day13 | 239|347 | 】

这个题很有意思,最重要的是要知道什么时候从队列头部把元素移出去,模拟出一个,进一个的窗口过程。在队列保证队头元素是最大的,其他元素没有current元素大时,应该从队尾弹出。在将current元素压入,只有在i>k-1时,才进行弹出队头操作,比较的是nums[i-k]和队头元素的大小。该题不进行优先级队列:滑动窗口是移动的,队头的元素是要弹出的,大顶堆只能弹出最大值的元素。

2023-10-25 02:28:27 115

原创 【KOKO-代码随想录算法训练营Day 8 |454 |383 |15|18 】

四数相加取遍每个下标,下标不重复则值不重复,用map存储key<(nums1[i]+nums2[j]),次数>,找两数相加等只需用map获取target-当前值,判断key是否存在即可。用map中的key是否存在判断两个数的和。map中的value存的是次数,因为取的是每个下标中符合target的元素。和字母异位词类似,用标记数组的值>0或<0判断是否有被用完。重点是去重,对left,对right的去重。

2023-10-23 00:37:13 77

原创 【KOKO-代码随想录算法训练营Day | 11|20|1047|150】

括号不匹配有三种情况:1.左括号多,这种是栈中元素剩余2.未匹配上,在遍历字符串的过程中可直接返回。3.右括号多,这是栈空的情况,在遍历字符串过程中。可以用栈,StringBuilder,看到卡哥用了双指针,用slow去记录没有重复的元素。双指针的题目还要多练练去体会。int slow=0;该题直接模拟即可,栈中存储整型,遍历字符串,遇到运算符时弹出栈中元素即可。

2023-10-22 03:47:54 131 1

原创 【KOKO-代码随想录算法训练营Day 10| 232|225】

用栈实现队列,我是定义了两个栈,在push的时候将栈1中元素弹出压到栈2中,将新加的元素压到栈底,在从栈顶元素拷贝进去。卡哥是从弹出的时候对栈进行操作的,并且size可以不适用。使用队列,只需弹出的时候,将最后一个元素之前的所有元素重新插入队列就可以。新插入的元素在队列尾部。令:若用Deque,push,pop()就是对栈进行操作Deque可以当作栈使用。此题用了Queue去实现。PS:队列删除从对头删,队尾插入元素。

2023-10-22 03:37:30 85 1

原创 【KOKO-代码随想录训练营Day 8|344|542|151|剑指Offer-左转】

题不见了,我直接用的replace。

2023-10-20 00:25:00 45 1

原创 【KOKO-代码随想录算法训练营Day 6【哈希表】|242|349|202|1

注意:res[s.charAt(i)-‘a’]这个题主要是记录一个数组是否在另一个数组(set)中,注意set转array,用流转,set.stream().mapToInt(x->x).toArray;这个题没什么,主要是注意无限循环,用set去接收1.map存target-nums[i],i2.判断nums[i]是否为map的key,是说明这俩和加起来是target,res=[i,map.get(nums[i])];

2023-10-17 02:43:32 61

原创 KOKO-代码随想录算法训练营Day 4 【链表】24|19|160|142

对于我来说,应该注意的是cur后面为firstNode,在交换位置后,只要知道谁是cur就可以,而不用纠结上一次secondNode,temp变到哪里去了用快指针和慢指针之间差n去删除,先让快指针走n个,随后快指针和慢指针一起向后走到结束,即为倒数第n个元素全部-n即为正着数的第几个。末端对齐,找到a比b多index个所对应的下标,从该位置一一比较a和b结点是否相等。总保证a>b快指针一次走两个,慢指针一次走一个,有环则必相遇。

2023-10-17 00:57:48 41

原创 【KOKO-代码随想录算法训练营Day 3【链表】|203|707|206

【KOKO-代码随想录算法训练营Day 3【链表】|203|707|206

2023-10-14 19:28:36 54 1

原创 【KOKO-代码随想录算法训练营Day 2|977|209|59】

【KOKO-代码随想录算法训练营Day2】

2023-10-12 23:46:39 104 1

原创 【KOKO-代码随想录算法训练营Day1|704&27】

【刷题记录】

2023-10-11 20:57:55 341

空空如也

空空如也

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

TA关注的人

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