Day6 . 24. 两两交换链表中的节点

题目链接:https://leetcode.cn/problems/swap-nodes-in-pairs/description/ 核心思路:虚拟头节点 # # @lc app=leetcode.cn id=24 lang=python3 # # [24] 两两交换链表中的节点 # # @lc

Day5 . 206.反转链表


题目链接:https://leetcode.cn/problems/reverse-linked-list/ 核心方法:双指针 定义一个cur指针,指向头节点,pre指针,初始化为None,代表cur指针的前一个节点 先用temp临时指针保存cur.next,为了向后移动指针 class Solut

Day4 . 707.设计链表


题目链接:https://leetcode.cn/problems/design-linked-list/ 获取链表第index个节点的数值 def get(self, index: int) -> int: if index < 0 or index >= self.size:

Day4 . 203.移除链表元素

题目链接:https://leetcode.cn/problems/remove-linked-list-elements/ 核心思想:虚拟头节点 链表删除过程 链表1 4 2 4 ,移除元素4 就把元素4的上一个节点的下一个节点 指向 元素4节点的下一个节点 问题在于:如果头节点的元素正好是4,就

Day3 . 链表理论基础

链表的每个节点由两部分组成:1.数据域 2.指针域(存放指向下一个节点的指针)最后一个节点的指针域指向NULL 链表的类型: 单链表:指针域只能指向节点的下一个节点。 双链表:每一个节点既有指向前一个节点的指针域,也有指向后一个节点的指针域。既可以向前查询,也可向后查询

Day2 . 58. 区间和

题目链接:https://kamacoder.com/problempage.php?pid=1070 核心思想:前缀和 重复利用计算过的子数组之和,降低查询的次数 p[1] = vec[0] + vec[1]; p[5] = vec[0] + vec[1] + vec[2] + vec[3] +

Day2 . 59. 螺旋矩阵 II

题目链接:https://leetcode.cn/problems/spiral-matrix-ii/ 核心思想:模拟 填充上行从左到右 填充右列从上到下 填充下行从右到左 填充左列从下到上 左闭右开

Day2. 209. 长度最小的子数组

题目链接:https://leetcode.cn/problems/minimum-size-subarray-sum/description/ 核心思想:滑动窗口 定义起始位置和终点位置分别为0 终点下标遍历数组,起点位置更新为当前子序列长度最小的数组 while cur_sum >= targe

Day1. 977. 有序数组的平方

题目链接:https://leetcode.cn/problems/squares-of-a-sorted-array/description/ 核心思想:双指针法 最大值肯定在左边两边,不会在中间 class Solution(object): def sortedSquares(self

Day1. 27. 移除元素

题目链接:https://leetcode.cn/problems/remove-element/description/ 核心思想:快慢指针法 快指针:寻找不含有目标数值的新数组 慢指针:指向更新 新数组下标的位置