数据结构——双链表
双链表中节点类型的描述: 双链表的初始化(带头结点) 、 双链表的插入操作 后插操作 ==InsertNextDNode(p, s)==: 在p结点后插入s结点 按位序插入操作: 思路:从头结点开始,找到某个位序的前驱结点,对该前驱结点执行后插操作; 前插操作: 思路:找到给定结点的前驱结点,再对该前驱结点执行后插操作; 双链表的删除操作 删除p节点的后继节点 双链表的遍历操作 前向遍历 后向遍历 注...
707.设计链表(力扣LeetCode)
707. 设计链表 你可以选择使用单链表或者双链表,设计并实现自己的链表。 单链表中的节点应该具备两个属性:val 和 next 。val 是当前节点的值,next 是指向下一个节点的指针/引用。 如果是双向链表,则还需要属性 prev 以指示链表中的上一个节点。假设链表中的所有节点下标从 0 开始。 实现 MyLinkedList 类: MyLinkedList() 初始化 MyLinkedLis...
Flink实时数仓同步:拉链表实战详解
2日用户表的历史数据,期望数据如下: 根据以上需求,业务人员希望既能够查看当天的实时数据,又希望查看以天为粒度的历史数据。这类需求比较常见,通常可以采用两种解决方式: Lambda架构实时同步 + 拉链表架构 二、Lambda架构 实时领域的Lambda架构是一种大数据架构模式,旨在处理实时数据流和历史数据批处理,以满足同时满足实时查询和历史数据分析的需求。Lambda架构的核心思想是将数据分成两个独...
【算法分析与设计】两两交换链表中的节点
2: 输入:head = []输出:[] 示例 3: 输入:head = [1]输出:[1] 思想(虚拟头节点) 算法分析与设计 使用虚拟头节点: 创建一个虚拟头节点 dummy,并将其指向原始链表的头部。 ListNode dummy = new ListNode(0); dummy.next = head; ListNode prev = dummy; 循环遍历: 使用 while 循环遍历...
2487. 从链表中移除节点 --力扣 --JAVA
每个右侧有一个更大数值的节点,所以可以利用深度遍历,从后往前进行比较;创建变量max来表示当前右侧的最大值;将最后节点的值赋值给max;若当前节点的值小于当前节点则移除,否则修改max为当前节点的值,链表是单向的,直接移除当前节点不好移除,可以将下个节点的值和next赋值给当前节点,即用下个节点取代当前节点。 代码展示 class Solution { private int max = 0; pub...
【LeetCode:2807. 在链表中插入最大公约数 | 链表】
🍔 目录 🚩 题目链接⛲ 题目描述🌟 求解思路&实现代码&运行结果⚡ 链表🥦 求解思路🥦 实现代码🥦 运行结果 💬 共勉 🚩 题目链接 2807. 在链表中插入最大公约数 ⛲ 题目描述 给你一个链表的头 head ,每个结点包含一个整数值。 在相邻结点之间,请你插入一个新的结点,结点值为这两个相邻结点值的 最大公约数 。 请你返回插入之后的链表。 两个数的 最大公约数 是可以被两个数字整除的最大正整...
【LeetCode:114. 二叉树展开为链表 | 二叉树 + 递归】
🍔 目录 🚩 题目链接⛲ 题目描述🌟 求解思路&实现代码&运行结果⚡ 二叉树 + 递归🥦 求解思路🥦 实现代码🥦 运行结果 💬 共勉 🚩 题目链接 114. 二叉树展开为链表 ⛲ 题目描述 给你二叉树的根结点 root ,请你将它展开为一个单链表: 展开后的单链表应该同样使用 TreeNode ,其中 right 子指针指向链表中下一个结点,而左子指针始终为 null 。 展开后的单链表应该与二叉树...
【LeetCode-剑指offer】-- 23.相交链表
23.相交链表 方法一:哈希集合 /** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { * val = x; * next = null; * } * } */public class Solution { public L...
【leetcode】力扣热门之反转链表【简单难度】
题目描述 给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。 用例 输入:head = [1,2,3,4,5] 输出:[5,4,3,2,1] 输入:head = [1,2] 输出:[2,1] 输入:head = [] 输出:[] 提示: 链表中节点的数目范围是 [0, 5000]-5000 <= Node.val <= 5000 示例代码 解法1:直接反转法 var reverseL...
算法模板之单链表图文讲解
🌈个人主页:聆风吟 🔥系列专栏:算法模板、数据结构 🔖少年有梦不应止于心动,更要付诸行动。 文章目录 📋前言一. ⛳️使用数组模拟单链表讲解1.1 🔔为什么我们要使用数组去模拟单链表?1.2 🔔用数组模拟实现单链表1.2.1 👻整体框架说明1.2.3 👻单链表插入结点1.2.4 👻单链表删除结点 1.3 🌟模板提取(重点)🌟 二. ⛳️题目练习2.1 题目2.2 输入样例2.3 输出样例2.4 c+...