随笔分类 - Leetcode
Leetcode刷题笔记(双指针)
摘要:1.何为双指针 双指针主要用来遍历数组,两个指针指向不同的元素,从而协同完成任务。我们也可以类比这个概念,推广到多个数组的多个指针。 若两个指针指向同一数组,遍历方向相同且不会相交,可以称之为滑动窗口(两个指针包围的区域为当前的窗口),经常用于区间搜索。 若两个指针指向同一数组,但是遍历方向相反,那
Leetcode链表
摘要:Leetcode链表 一.闲聊 边学边刷的……慢慢写慢慢更 二.题目 1.移除链表元素 题干: 思路: 删除链表节点,就多了一个判断等值。 由于是单向链表,所以要删除节点时要找到目标节点的上一个节点,如果是双向链表,指向要删除节点本身即可 链表的头节点存在着被删除的风险,所以使用虚拟头节点来方便返回
Leetcode栈&队列
摘要:Leetcode栈&队列 232.用栈实现队列 题干: 思路: 栈是FILO,队列是FIFO,所以如果要用栈实现队列,目的就是要栈实现一个FIFO的特性。 具体实现方法可以理解为,准备两个栈,一个栈用作输入栈,入数据就存数据,一个栈用作输出栈,出数据就入数据再弹数据。 代码: class MyQue