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

代码随想录二刷day03

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 前言
  • 一、力扣203. 移除链表元素
  • 二、力扣707. 设计链表
  • 三、力扣206. 反转链表


前言

一、力扣203. 移除链表元素

/*** Definition for singly-linked list.* public class ListNode {*     int val;*     ListNode next;*     ListNode() {}*     ListNode(int val) { this.val = val; }*     ListNode(int val, ListNode next) { this.val = val; this.next = next; }* }*/
class Solution {public ListNode removeElements(ListNode head, int val) {ListNode list = new ListNode();list.next = head;ListNode p = head, pre = list;while(p != null){if(p.val == val){pre.next = p.next;p = p.next;}else{pre = p;p = p.next;}}return list.next;}
}

二、力扣707. 设计链表

class MyLinkedList {int size;DLinkList head, tail;public MyLinkedList() {this.size = 0;this.head = new DLinkList(0);this.tail = new DLinkList(0);this.head.next = this.tail;this.tail.prev = this.head;}public int get(int index) {if(index < 0 || index >= this.size){return -1;}DLinkList p = head;int i = 0;while(i <= index){i ++;p = p.next;}return p.val;}public void addAtHead(int val) {addAtIndex(0, val);}public void addAtTail(int val) {addAtIndex(this.size, val);}public void addAtIndex(int index, int val) {if(index < 0 || index > this.size){return ;}DLinkList node = new DLinkList(val);int i = 0;DLinkList p = head;while(i < index){i ++;p = p.next;}node.next = p.next;p.next.prev = node;node.prev = p;p.next = node;this.size ++;}public void deleteAtIndex(int index) {if(index < 0 || index > this.size-1){return;}DLinkList p = head;int i = 0;while(i < index){i ++;p = p.next;}p.next.next.prev = p;p.next = p.next.next;this.size --;}
}
class DLinkList{int val;DLinkList prev;DLinkList next;DLinkList(int val){this.val = val;this.prev = null;this.next = null;}
}/*** Your MyLinkedList object will be instantiated and called as such:* MyLinkedList obj = new MyLinkedList();* int param_1 = obj.get(index);* obj.addAtHead(val);* obj.addAtTail(val);* obj.addAtIndex(index,val);* obj.deleteAtIndex(index);*/

三、力扣206. 反转链表

头插法

/*** Definition for singly-linked list.* public class ListNode {*     int val;*     ListNode next;*     ListNode() {}*     ListNode(int val) { this.val = val; }*     ListNode(int val, ListNode next) { this.val = val; this.next = next; }* }*/
class Solution {public ListNode reverseList(ListNode head) {ListNode node = new ListNode(-1, null);ListNode p = head, s;while(p != null){s = p; p = p.next;s.next = node.next;node.next = s;}return node.next;}
}

递归

/*** Definition for singly-linked list.* public class ListNode {*     int val;*     ListNode next;*     ListNode() {}*     ListNode(int val) { this.val = val; }*     ListNode(int val, ListNode next) { this.val = val; this.next = next; }* }*/
class Solution {public ListNode reverseList(ListNode head) {return reverse(null, head);}public ListNode reverse(ListNode prev, ListNode cur){if(cur == null){return prev;}ListNode p = cur.next;cur.next = prev;return reverse(cur, p);}
}

双指针法

/*** Definition for singly-linked list.* public class ListNode {*     int val;*     ListNode next;*     ListNode() {}*     ListNode(int val) { this.val = val; }*     ListNode(int val, ListNode next) { this.val = val; this.next = next; }* }*/
class Solution {public ListNode reverseList(ListNode head) {if(head == null){return head;}ListNode prev = null;ListNode cur = head;ListNode temp ;while(cur != null){temp = cur.next;cur.next = prev;prev = cur;cur = temp;}return prev;}
}

相关文章:

代码随想录二刷day03

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、力扣203. 移除链表元素二、力扣707. 设计链表三、力扣206. 反转链表 前言 一、力扣203. 移除链表元素 /*** Definition for singly-linked list.* public…...

初出茅庐的小李博客之STM32F103C8T6音乐控制器实战教程【1】

STM32F103C8T6音乐控制器实战教程[1] USB简单介绍&#xff1a; "USB"代表通用串行总线&#xff08;Universal Serial Bus&#xff09;&#xff0c;是一种用于连接计算机及其外部设备的标准接口。USB接口允许各种设备&#xff08;如打印机、存储设备、键盘、鼠标、摄…...

苍穹外卖01-项目概述、环境搭建

项目概述、环境搭建 课程内容 软件开发整体介绍苍穹外卖项目介绍开发环境搭建导入接口文档Swagger 项目整体效果展示&#xff1a; 管理端-外卖商家使用用户端-点餐用户使用当我们完成该项目的学习&#xff0c;可以培养以下能力&#xff1a; 1. 软件开发整体介绍 作为一名软…...

图床项目进度(二)——动态酷炫首页

前言&#xff1a; 前面的文章我不是说我简单copy了站友的一个登录页吗&#xff0c;我感觉还是太单调了&#xff0c;想加一个好看的背景。 但是我前端的水平哪里够啊&#xff0c;于是在网上找了找制作动态背景的插件。 效果如下图。 如何使用 这个插件是particles.js 安装…...

Java“魂牵”京东商品详情描述数据,京东商品详情API接口,京东API接口申请指南

要通过京东的API获取商品详情描述数据&#xff0c;您可以使用京东开放平台提供的接口来实现。以下是一种使用Java编程语言实现的示例&#xff0c;展示如何通过京东开放平台API获取商品详情&#xff1a; 首先&#xff0c;确保您已注册成为京东开放平台的开发者&#xff0c;并创…...

Flink SQL你用了吗?

分析&回答 Flink 1.1.0&#xff1a;第一次引入 SQL 模块&#xff0c;并且提供 TableAPI&#xff0c;当然&#xff0c;这时候的功能还非常有限。Flink 1.3.0&#xff1a;在 Streaming SQL 上支持了 Retractions&#xff0c;显著提高了 Streaming SQL 的易用性&#xff0c;使…...

【位运算】leetcode面试题:消失的两个数字

一.题目描述 消失的两个数字 二.思路分析 本题难度标签是困难&#xff0c;但实际上有了只出现一次的数字iii这道题的铺垫&#xff0c;本题的思路还是很容易想到的。 温馨提示&#xff1a;阅读本文前可以先查看我的【位运算】专栏的第一篇文章&#xff0c;其中包含位运算这类…...

Vue2 集成 CodeMirror 实现公式编辑、块状文本编辑,TAG标签功能

效果图 安装codemirror依赖 本示例为Vue2项目&#xff0c;安装低版本的依赖 npm i codemirror5.65.12 npm i vue-codemirror4.0.6 实现 实现代码如下&#xff0c;里边涉及到的变量和函数自行替换即可&#xff0c;没有其他复杂逻辑。 <template><div class"p…...

CCF-CSP 30次 第二题【矩阵运算】

计算机软件能力认证考试系统 #include<bits/stdc.h> using namespace std; const int N1e410; #define int long long int n,d; int q[N][22],k[22][N],v[N][22],w[N]; int ans1[N][22],ans2[N][22]; signed main() {scanf("%lld %lld",&n,&d);for(in…...

最大子数组和【贪心算法】

最大子数组和 给你一个整数数组 nums &#xff0c;请你找出一个具有最大和的连续子数组&#xff08;子数组最少包含一个元素&#xff09;&#xff0c;返回其最大和。 子数组 是数组中的一个连续部分。 class Solution {public int maxSubArray(int[] nums) {//记录最大结果&…...

linux并发服务器 —— Makefile与GDB调试(二)

Makefile Makefile&#xff1a;定义规则指定文件的编译顺序&#xff1b;类似shell脚本&#xff0c;执行操作系统命令 优点&#xff1a;自动化编译——通过make&#xff08;解释Makefile文件中指令的命令&#xff09;命令完全编译整个工程&#xff0c;提高软件开发效率&#x…...

Ansible学习笔记14

实现多台的分离实现&#xff1a; [rootlocalhost playbook]# cat example3.yaml --- - hosts: 192.168.17.105remote_user: roottasks:- name: create test1 directoryfile: path/test1/ statedirectory- hosts: 192.168.17.106remote_user: roottasks:- name: create test2 d…...

docker 安装 mysql 并挂载 配置文件和数据目录

1、宿主机创建挂载目录 sudo mkdir /path/mysql/data sudo mkdir /path/mysql/conf2、搜索镜像 docker search mysql拉取官方支持版本&#xff08;OFFICIAL 为 ok的版本&#xff09; docker pull mysql:latest3、以 mysql 作为基础镜像构建容器并挂载目录 docker run -d -p…...

代码随想录训练营 DP01

代码随想录训练营 DP01 509. &#x1f338;斐波那契数&#x1f338;code 70. &#x1f338;爬楼梯&#x1f338;code 746. &#x1f338;使用最小花费爬楼梯&#x1f338;code 509. &#x1f338;斐波那契数&#x1f338; 斐波那契数 &#xff08;通常用 F(n) 表示&#xff09;…...

github+hexo 博客搭建

文章目录 1.安装Node.js、Git和Hexo2.创建 GitHub 仓库并配置ssh3.初始化Hexo4.配置Hexo5.创建博客内容6.部署7.查看8.参考&#xff1a;9.选择主题&#xff1a; 环境&#xff1a;win11wsl 1.安装Node.js、Git和Hexo 打开终端安装以下软件 sudo apt update sudo apt-get insta…...

Spring Security bug记录:antMatchers找不到符号(已解决)

目录 Spring Security bug记录&#xff1a;antMatchers找不到符号&#xff08;已解决&#xff09;原因&#xff1a;解决&#xff1a;参考链接&#xff1a; Spring Security bug记录&#xff1a;antMatchers找不到符号&#xff08;已解决&#xff09; 原因&#xff1a; 新版本…...

kaggle新赛:谷歌AI模型运行时间预测赛题解析【数据挖掘】

赛题名称&#xff1a;Google - Fast or Slow? Predict AI Model Runtime 赛题链接&#xff1a;https://www.kaggle.com/competitions/predict-ai-model-runtime 赛题背景 Alice 是一名 AI 模型开发人员&#xff0c;但她的团队开发的一些模型运行速度非常慢。她最近发现了编…...

mysql性能测试工具选择 mysql软件测试

1.理论知识: 1.1 定义 1. 基准测试是一种测量和评估软件性能指标的活动&#xff0c;用于建立某个时刻的性能基准&#xff0c;以便当系统发生软硬件变化时重新进行基准测试以评估变化对性能的影响 2. 基准测试是针对系统设置的一种压力测试&#xff0c;但是和压力测试还是有区…...

GPS全球卫星定位系统原理

GPS全球卫星定位系统是一种利用导航卫星进行定位、导航和时间测量的系统。它由三部分组成&#xff1a;空间部分、地面控制部分和用户设备部分。其中&#xff0c;空间部分由24颗卫星组成&#xff0c;分布在6个轨道面上&#xff0c;每个轨道面有4颗卫星&#xff1b;地面控制部分由…...

Ubuntu学习---跟着绍发学linux课程记录(第一部分)

文章目录 1、启动、关闭、挂起、恢复&#xff08;电源&#xff09;2、更多虚拟机操作2.1 电源设置2.2 硬件参数设置2.3 状态栏2.4 全屏显示 3、快照与系统恢复4、桌面环境5、文件系统6、用户目录7、创建目录和文件8、命令行&#xff1a;文件列表ls 9、命令行&#xff1a;切换目…...

Legacy iOS Kit终极指南:让你的旧iPhone/iPad重获新生!

Legacy iOS Kit终极指南&#xff1a;让你的旧iPhone/iPad重获新生&#xff01; 【免费下载链接】Legacy-iOS-Kit An all-in-one tool to restore/downgrade, save SHSH blobs, jailbreak legacy iOS devices, and more 项目地址: https://gitcode.com/gh_mirrors/le/Legacy-i…...

ClearerVoice-Studio语音分离实用技巧:分离后各声道说话人身份标注方法

ClearerVoice-Studio语音分离实用技巧&#xff1a;分离后各声道说话人身份标注方法 你是不是也遇到过这种情况&#xff1f;用语音分离工具把一段多人对话音频分成了几个独立的声道&#xff0c;结果看着一堆命名为“output_1.wav”、“output_2.wav”的文件&#xff0c;完全搞不…...

Graphormer惊艳案例:从SMILES到三维构象倾向性预测的延伸应用探索

Graphormer惊艳案例&#xff1a;从SMILES到三维构象倾向性预测的延伸应用探索 1. 模型概述 Graphormer是微软研究院开发的一款基于纯Transformer架构的图神经网络模型&#xff0c;专门为分子图&#xff08;原子-键结构&#xff09;的全局结构建模与属性预测而设计。与传统图神…...

开关电源拓扑结构解析:从反激到正激的实战应用

1. 开关电源拓扑结构入门指南 第一次接触开关电源设计时&#xff0c;我被各种拓扑结构搞得晕头转向。直到有次把电源板烧冒烟了才明白&#xff0c;选错拓扑就像用菜刀砍柴——不是不能用&#xff0c;但效率低还危险。开关电源拓扑结构决定了电能转换的基本框架&#xff0c;就像…...

手机号查QQ号终极指南:3分钟快速找回遗忘的QQ号码

手机号查QQ号终极指南&#xff1a;3分钟快速找回遗忘的QQ号码 【免费下载链接】phone2qq 项目地址: https://gitcode.com/gh_mirrors/ph/phone2qq 你是否曾因忘记QQ号而无法登录&#xff1f;是否因为更换手机需要重新绑定QQ却找不到账号信息&#xff1f;手机号查QQ号工…...

惊心动魄!从“卡脖子”到“心脏搭桥”,6台路由器带你亲历IPv6平滑迁移

摘要:从IPv4地址耗尽,到DNS根域服务器“卡脖子”风险,再到中国部署IPv6根服务器,网络协议的演进不仅关乎技术,更关乎国家战略。本文带你穿越互联网发展史,并通过eNSP搭建6台路由器的复杂拓扑,手把手演示如何在不重启设备、不影响业务的前提下,将网络从IPv4平滑迁移至IP…...

千问3.5-9B模型切换指南:OpenClaw多模型动态调用

千问3.5-9B模型切换指南&#xff1a;OpenClaw多模型动态调用 1. 为什么需要多模型动态调用 上周我尝试用OpenClaw自动整理电脑里积压的300多份PDF文档时&#xff0c;遇到了一个有趣的现象&#xff1a;处理简单文件重命名任务时&#xff0c;轻量级模型响应飞快&#xff1b;但遇…...

JAVA重点基础、进阶知识及易错点总结(13)File 类 + 路径操作

&#x1f680; Java 巩固进阶 第13天 主题&#xff1a;File 类 路径操作 —— IO 体系的第一块基石&#x1f4c5; 进度概览&#xff1a;从今天起&#xff0c;我们正式进入 Java IO 流体系。第一站&#xff1a;java.io.File。 &#x1f4a1; 核心价值&#xff1a; 文件操作基石…...

南北阁Nanbeige 4.1-3B企业级应用:软件测试用例的自动化生成与评审

南北阁Nanbeige 4.1-3B企业级应用&#xff1a;软件测试用例的自动化生成与评审 测试工程师老王最近有点烦。新版本下周就要上线&#xff0c;产品经理昨天下午才把最终版的需求文档发过来&#xff0c;而测试用例还一个字没写。他望着密密麻麻的功能点&#xff0c;感觉今晚又得在…...

OpenClaw开源贡献指南:Qwen3.5-9B技能模块PR提交流程

OpenClaw开源贡献指南&#xff1a;Qwen3.5-9B技能模块PR提交流程 1. 为什么需要你的贡献 去年冬天&#xff0c;当我第一次尝试用OpenClaw自动整理电脑上的照片时&#xff0c;发现现有的技能库缺少一个"智能相册整理"模块。那一刻我突然意识到&#xff1a;这个开源项…...