当前位置: 首页 > article >正文

代码随想录算法训练营--打卡day3

复习:标注感叹号的需要在电脑上重新做几遍 

 一.两两交换链表中的节点!!

1.题目链接 

24. 两两交换链表中的节点 - 力扣(LeetCode)

2.思路

画图

3.代码

class Solution {public ListNode swapPairs(ListNode head) {ListNode dummy=new ListNode(0);dummy.next=head;ListNode cur=dummy;while(cur.next!=null&&cur.next.next!=null){ListNode tmp1=cur.next;ListNode tmp2=cur.next.next.next;cur.next=cur.next.next;cur.next.next=tmp1;tmp1.next=tmp2;cur=cur.next.next;}return dummy.next;}
}

二.删除链表中的倒数第N个节点

1.题目链接

19. 删除链表的倒数第 N 个结点 - 力扣(LeetCode)

2.思路

通过虚拟头结点(处理头结点本身需要删除的情况)+快慢指针差N步(精准定位待删节点的前驱)

3.代码

class Solution {public ListNode removeNthFromEnd(ListNode head, int n) {ListNode dummy=new ListNode(0);dummy.next=head;ListNode slow=dummy;ListNode fast=dummy;while(n>0){fast=fast.next;n--;}while(fast.next!=null){slow=slow.next;fast=fast.next;}slow.next=slow.next.next;return dummy.next;}
}

 三.链表相交

1.题目链接

面试题 02.07. 链表相交 - 力扣(LeetCode)

2.注意点!!

  p=p==null?headB:p.next;
  q=q==null?headA:q.next;

3.代码

public class Solution {public ListNode getIntersectionNode(ListNode headA, ListNode headB) {ListNode p=headA;ListNode q=headB;while(p!=q){p=p==null?headB:p.next;q=q==null?headA:q.next;}return p;}
}

四.环形链表!!


1.题目链接

142. 环形链表 II - 力扣(LeetCode)

2.易错点

while()循环条件

3.代码

public class Solution {public ListNode detectCycle(ListNode head) {// 初始化快指针和慢指针,都指向头节点ListNode fast = head;ListNode slow = head;// 当快指针和快指针的下一个节点都不为空时,继续循环while (fast != null && fast.next != null) {// 快指针每次移动两步fast = fast.next.next;// 慢指针每次移动一步slow = slow.next;// 如果快慢指针相遇,说明链表中存在环if (fast == slow) {// 让一个指针从头节点开始,另一个指针从相遇点开始while (head != fast) {// 头指针和相遇点指针同时移动一步head = head.next;fast = fast.next;}// 当它们再次相遇时,相遇点就是环的起始节点return head;}}// 如果循环结束都没有相遇,说明链表中不存在环,返回 nullreturn null;}
}

相关文章:

代码随想录算法训练营--打卡day3

复习:标注感叹号的需要在电脑上重新做几遍 一.两两交换链表中的节点!! 1.题目链接 24. 两两交换链表中的节点 - 力扣(LeetCode) 2.思路 画图 3.代码 class Solution {public ListNode swapPairs(ListNode head) …...

c#的.Net Framework 的console 项目找不到System.Window.Forms 引用

首先确保是建立的.Net Framework 的console 项目,然后天健reference 应用找不到System.Windows.Forms 引用 打开对应的csproj 文件 在第一个PropertyGroup下添加 <UseWindowsForms>true</UseWindowsForms> 然后在第一个ItemGroup 下添加 <Reference Incl…...

蓝桥杯嵌入式学习笔记

用博客来记录一下参加蓝桥杯嵌入式第十六届省赛的学习经历 工具环境准备cubemx配置外部高速时钟使能设置串口时钟配置项目配置 keil配置烧录方式注意代码规范头文件配置 模块ledcubemx配置keil代码实现点亮一只灯实现具体操作的灯&#xff0c;以及点亮还是熄灭 按键cubemx配置k…...

zookeeper详细介绍以及使用

Zookeeper 是一个开源的分布式协调服务&#xff0c;提供了一个高效的分布式数据一致性解决方案。它的主要作用是维护集群中各个节点之间的状态信息&#xff0c;协调节点之间的工作&#xff0c;并处理节点宕机等故障情况。Zookeeper 的核心功能包括数据发布/订阅、分布式锁、集群…...

Blender多摄像机怎么指定相机渲染图像

如题目所说&#xff0c;当blender的场景里面有摄像机的时候&#xff0c;按F12可以预览渲染结果&#xff0c;但是当有多个摄像机的时候就不知道使用哪个进行渲染了。 之前在网上没有找到方法&#xff0c;就用笨方法&#xff0c;把所有的摄像机删除&#xff0c;然后设置自己需要…...

Redis场景问题1:缓存穿透

Redis 缓存穿透是指在缓存系统&#xff08;如 Redis&#xff09;中&#xff0c;当客户端请求的数据既不在缓存中&#xff0c;也不在数据库中时&#xff0c;每次请求都会直接穿透缓存访问数据库&#xff0c;从而给数据库带来巨大压力&#xff0c;甚至可能导致数据库崩溃。下面为…...

CSS 如何设置父元素的透明度而不影响子元素的透明度

CSS 如何设置父元素的透明度而不影响子元素的透明度 在 CSS 中&#xff0c;设置父元素的透明度&#xff08;如通过 opacity 属性&#xff09;会影响所有子元素的透明度&#xff0c;因为 opacity 是作用于整个元素及其内容的。如果想让父元素透明但不影响子元素的透明度&#x…...

Java的string默认值

在Java中&#xff0c;String类型的默认值取决于其定义和实例化的方式。 以下是关于String默认值的详细说明 未实例化的String变量‌ 如果定义一个String变量但未对其进行实例化&#xff08;即未使用new关键字或直接赋值&#xff09;&#xff0c;其默认值为:ml-search[null]。这…...

从 MySQL 到时序数据库 TDengine:Zendure 如何实现高效储能数据管理?

小T导读&#xff1a;TDengine 助力广州疆海科技有限公司高效完成储能业务的数据分析任务&#xff0c;轻松应对海量功率、电能及输入输出数据的实时统计与分析&#xff0c;并以接近 1 : 20 的数据文件压缩率大幅降低存储成本。此外&#xff0c;taosX 强大的 transform 功能帮助用…...

观察者模式:解耦对象间的依赖关系

观察者模式&#xff1a;解耦对象间的依赖关系 JDK 中曾直接提供对观察者模式的支持&#xff0c;但因其设计局限性&#xff0c;现已被标记为“过时”&#xff08;Deprecated&#xff09;。不过&#xff0c;观察者模式的思想在 JDK 的事件处理、spring框架等仍有广泛应用。下面我…...

windows第二十章 单文档应用程序

文章目录 单文档定义新建一个单文档应用程序单文档应用程序组成&#xff1a;APP应用程序类框架类&#xff08;窗口类&#xff09;视图类&#xff08;窗口类&#xff0c;属于框架的子窗口&#xff09;文档类&#xff08;对数据进行保存读取操作&#xff09; 直接用向导创建单文档…...

通信协议之串口

文章目录 简介电平标准串口参数及时序USART与UART过程引脚配置 简介 点对点&#xff0c;只能两设备通信只需单向的数据传输时&#xff0c;可以只接一根通信线当电平标准不一致时&#xff0c;需要加电平转换芯片&#xff08;一般从控制器出来的是信号是TTL电平&#xff09;地位…...

Java入门知识总结——章节(二)

ps&#xff1a;本章主要讲数组、二维数组、变量 一、数组 数组是一个数据容器&#xff0c;可用来存储一批同类型的数据 &#x1f511;&#xff1a;注意 类也可以是一个类的数组 public class Main {public static class Student {String name;int age; // 移除 unsignedint…...

Verilog 中寄存器类型(reg)与线网类型(wire)的区别

目录 一、前言 二、基本概念与分类 1.寄存器类型 2.线网类型 三、六大核心区别对比 四、使用场景深度解析 1.寄存器类型的典型应用 2. 线网类型的典型应用 五、常见误区与注意事项 1. 寄存器≠物理寄存器 2.未初始化值陷阱 3.SystemVerilog的改进 六、总结 …...

基于华为设备技术的端口类型详解

以下是基于华为设备技术网页的端口类型详解&#xff08;截至2025年3月&#xff09;&#xff1a; 一、Access端口 定义&#xff1a;仅允许单个VLAN通过&#xff0c;用于连接终端设备&#xff08;如PC、打印机&#xff09; 处理流程&#xff1a; ​接收帧&#xff1a;未带标签…...

DFS飞机降落

问题描述 NN 架飞机准备降落到某个只有一条跑道的机场。其中第 ii 架飞机在 TiTi​ 时刻到达机场上空&#xff0c;到达时它的剩余油料还可以继续盘旋 DiDi​ 个单位时间&#xff0c;即它最早可以于 TiTi​ 时刻开始降落&#xff0c;最晚可以于 TiDiTi​Di​ 时刻开始降落。降落…...

Scikit-learn全攻略:从入门到工业级应用

Scikit-learn全攻略:从入门到工业级应用 引言:Scikit-learn在机器学习生态系统中的核心地位 Scikit-learn作为Python最受欢迎的机器学习库,已成为数据科学家的标准工具集。根据2023年Kaggle调查报告,超过83%的数据专业人士在日常工作中使用Scikit-learn。本文将系统性地介…...

Business Trip and Business Travel

Business Trip and Business Travel References Background I would like to introduce the background. Dave is going on a business trip, but he’s very busy, so he needs Leo’s help to buy the plane ticket. Panda is an agent of China Eastern /ˈiːstərn/ Airl…...

【Linux加餐-验证UDP:TCP】-windows作为client访问Linux

一、验证UDP-windows作为client访问Linux UDP client样例代码 #include <iostream> #include <cstdio> #include <thread> #include <string> #include <cstdlib> #include <WinSock2.h> #include <Windows.h>#pragma warning(dis…...

Appium Inspector使用教程

1.下载最新版本 https://github.com/appium/appium-inspector/releases 2.本地启动一个Appium服务 若Android SDK已安装Appium服务&#xff0c;则在任意terminal使用appium启动服务即可 3.Appium Inspector客户端配置连接到Appium服务 Configuring and Starting a Session…...

Rust vs. Go: 性能测试(2025)

本内容是对知名性能评测博主 Anton Putra Rust vs. Go (Golang): Performance 2025 内容的翻译与整理, 有适当删减, 相关数据和结论以原作结论为准。 再次对比 Rust 和 Go&#xff0c;但这次我们使用的是最具性能优势的 HTTP 服务器库---Hyper&#xff0c;它基于 Tokio 异步运…...

第三卷:覆舟山决战(73-108回)正反人物群像

第三卷&#xff1a;覆舟山决战&#xff08;73-108回&#xff09;正反人物群像 核心矛盾&#xff1a;寒门称帝→权力异化→历史循环 主题&#xff1a;通过人物群像展现屠龙者成魔的必然性与制度压迫的永恒性 一、正派阵营&#xff08;理想主义残余&#xff09; 1. 檀道济&…...

JDBC的详细使用

1. JDBC概述 JDBC[Java Database Connectivity]是 Java 语言中用于连接和操作数据库的一套标准 API。它允许 Java 程序通过统一的方式与各种关系型数据库&#xff0c;如 MySQL、Oracle、SQL Server 等交互&#xff0c;执行 SQL 语句并处理结果。 1.1 JDBC原理 JDBC的核心原理…...

瑞芯微 RKrga接口 wrapbuffer_virtualaddr 使用笔记

一、源码 官方在librga中给了很多 demo 以供参考&#xff0c;例如 imresize 操作&#xff1a; /** Copyright (C) 2022 Rockchip Electronics Co., Ltd.* Authors:* YuQiaowei <cerf.yurock-chips.com>** Licensed under the Apache License, Version 2.0 (the &qu…...

【数据结构】[特殊字符] 并查集优化全解:从链式退化到近O(1)的性能飞跃 | 路径压缩与合并策略深度实战

并查集的优化 导读一、合并优化1.1 基本原理1.2 按大小合并1.3 按秩合并1.4 两种合并的区别**1.4.1 核心目标****1.4.2 数据存储****1.4.3 合并逻辑****1.4.4 树高控制****1.4.5 适用场景****1.4.6 路径压缩兼容性****1.4.7 极端案例对比****1.4.8 小结**二、查找优化2.1 路径压…...

如何在 AI 搜索引擎(GEO)霸屏曝光,快速提升知名度?

虽然大多数人仍然使用 Google 来寻找答案&#xff0c;但正在发生快速转变。ChatGPT、Copilot、Perplexity 和 DeepSeek 等 LLM 已成为主流。这主要是因为每个都有自己的免费和公共版本&#xff0c;并且总是有重大的质量改进。 许多人每天都使用这些工具来提问和搜索互联网&…...

VLAN综合实验二

一.实验拓扑&#xff1a; 二.实验需求&#xff1a; 1.内网Ip地址使用172.16.0.0/分配 2.sw1和SW2之间互为备份 3.VRRP/STP/VLAN/Eth-trunk均使用 4.所有Pc均通过DHCP获取IP地址 5.ISP只能配置IP地址 6.所有…...

Kubernetes》k8s》Containerd 、ctr 、cri、crictl

containerd ctr crictl ctr 是 containerd 的一个客户端工具。 crictl 是 CRI 兼容的容器运行时命令行接口&#xff0c;可以使用它来检查和调试 k8s 节点上的容器运行时和应用程序。 ctr -v 输出的是 containerd 的版本&#xff0c; crictl -v 输出的是当前 k8s 的版本&#x…...

SQL语句及其应用(中)(DQL语句之单表查询)

SQL语句的定义: 概述: 全称叫 Structured Query Language, 结构化查询语言, 主要是实现 用户(程序员) 和 数据库软件(例如: MySQL, Oracle)之间交互用的. 分类: DDL: 数据定义语言, 主要是操作 数据库, 数据表, 字段, 进行: 增删改查(CURD) 涉及到的关键字: create, drop, …...

如何下载主流网站的视频和音频?(支持100+网站视频下载)

更多内容请见: 爬虫和逆向教程-专栏介绍和目录 文章目录 一、安装与升级1. 安装2. 升级到最新版3. 验证安装二、基础下载命令1. 下载视频/音频/图片2. 指定下载目录3. 自定义文件名4. 基本下载场景三、高级下载控制1. 查看视频信息(清晰度/格式)2. 选择特定清晰度下载3. 下载…...