力扣
leetcode Writeup Record
131.分割回文串
这道题没有能够做出来,尽管对于切割有些思路了,但是对于 substr 方法有些误解(后面详细谈一谈它的用法),导致实际返回的容器中有很多重复项
82.删除排序链表中的重复元素 II
当我们的链表中删除某个节点,如果这个节点可能包含头结点,那么务必使用虚拟头结点,因为删除节点需要拥有待删除节点的前一个节点才能进行删除
83.删除排序链表中的重复元素
这道题主要强调 while 循环,由于 fast 检测是否为空在最外层 while 中检测,但它只能保证当前这次循环不为空,所以 fast 如果进入下一个 while 循环(代码中内存 while 循环),记得要继续检测是否为空,不然出现未定义错误
206.反转链表
反转链表需要用到三个指针,left 和 right 指针用于反转链表,而 node 指针用来保存还未进行反转的链表
933.最近的请求次数
这道题只要想明白一件事情,即由于题目保证每次对 ping 调用所使用的 t 值都 严格递增,而我们只关心传递进来的 t 在 [t-3000,t] 范围内 ping 的总数,那就表明之前加入的所有数据并不是都有必要一直存在
946.验证栈序列
多看别人的题解,能获得更好的优化代码,但凡是按照常规逻辑去写,代码往往有优化的余地
844.比较含退格的字符串
也许我不该强调这道题的对称性,而应该表述为 利用栈实现消消乐
739.每日温度
我们要寻找数组中每个数右边第一个比它大的数,使用单调递减栈
232.用栈实现队列
把 dataSrc 全部转移到 dataTop 中即可,返回对应的 top 之后,并不需要把 dataTop 中的元素返回到 dataSrc 中
225.用队列实现栈
因为队列只能从队头移除元素,必然单个队列也就无法实现栈了,所以核心实现就在移除最后的元素