- 博客(9)
- 收藏
- 关注
原创 代码随想录Day10
结合链表来实现,poll就是移除并返回队列的队首元素。通过调用这个方法,我们可以取得队首元素,并将其从队列中删除。请你仅使用两个队列实现一个后入先出(LIFO)的栈,并支持普通栈的全部四种操作(是栈(Stack)的基本操作,用于对栈进行元素的插入、删除和判断栈是否为空。也就是将一个新的元素添加到栈的顶部,成为新的栈顶元素。请你仅使用两个栈实现先入先出队列。队列应当支持一般队列支持的所有操作(:弹出(删除)栈顶元素。从栈中移除栈顶的元素,并返回被删除的元素的值。如果栈中没有元素,即栈为空,则返回。
2023-12-27 13:44:27
357
1
原创 代码随想录Day7
给定一个字符串 s,它包含小写字母和数字字符,请编写一个函数,将字符串中的字母字符保持不变,而将每个数字字符替换为number。例如,对于输入字符串 "a1b2c3",函数应该将其转换为 "anumberbnumbercnumber"。字符串的右旋转操作是把字符串尾部的若干个字符转移到字符串的前面。给定一个字符串 s 和一个正整数 k,请编写一个函数,将字符串中的后面 k 个字符移到字符串的前面,实现字符串的右旋转操作。返回的结果字符串中,单词间应当仅用单个空格分隔,且不包含任何额外的空格。
2023-12-22 22:57:38
88
原创 代码随想录Day5
创建两个hashset储存无序的元素,一个先加进去,再检验nums2里面是否有set1的元素,如果有就把这个元素添加近reset里面,然后把set里面的元素转移到一个数组里面。不用暴力求解,只用O(n)的复杂度,定义一个长度为26的整数数组,先遍历一个对数组对应位置上的字母++,然后再遍历另一个对对应位置上的字母--,如果最后等于0则两个一致。也是用unordered_set来记录每次的sum,注意第一次计算之前就要添加n,这也是防止循环到自己,要熟悉写getnum代码。整数,并返回它们的数组下标。
2023-12-19 23:00:51
26
1
原创 代码随想录Day4
思路是两个连表既然从某处开始就是相交的,那么说从从某处开始后面的东西都是一致的,即最后几项都是一致的,所以较长的链表的前面几项没用,直接将较长链表的指针移动到余下的长度与较短的链表的长度相等的地方,然后分情况讨论逐个比较即可。注意要new 虚拟头节点,listnode dummy = new listnode(-1)快慢指针,fast先走n+1,注意既然虚拟了头节点,最后返回的肯定是dummy.next。挺难的,考研数学思维,二刷也认真看。用虚拟头节点来做,画图理清思路。
2023-12-18 15:23:05
44
1
原创 代码随想录Day3
添加节点方法要先判断index是否在size内,如果不在就直接return,如果在就是先size++,然后用一个虚拟节点listnode dummy = head,用for移动到该index位置上面去,然后new一个新节点括号里面填val的值,然后进行替换。学习如何创建虚拟头节点,更改指针指向的时候先判断这个节点是不是null,还要仔细斟酌当cur.val==val的时候是pre的next指向cur的next,这里不能把pre写成cur.next,这样的话pre也没改。
2023-12-15 22:36:02
16
原创 代码随想录Day2
977双指针思想,左边右边分别往中间走,比较大小后再决定是否移动指针209思想是移动末端指针,sum满足条件后移动前端指针,找寻最小长度,要注意的是前端指针不是每次都从0开始的,第一次做题错误出现于sum = sum - nums[i++];i忘记++0:result;判断result是否等于len,如果等于则返回0 ,如果不等于则返回result。
2023-12-14 12:24:32
19
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人