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

【面试必刷TOP101】删除链表的倒数第n个节点 两个链表的第一个公共结点

目录

题目:删除链表的倒数第n个节点_牛客题霸_牛客网 (nowcoder.com)

题目的接口:

解题思路:

代码:

过啦!!!

题目:两个链表的第一个公共结点_牛客题霸_牛客网 (nowcoder.com)

题目的接口:

解题思路:

代码:

过啦!!!

写在最后:


题目:删除链表的倒数第n个节点_牛客题霸_牛客网 (nowcoder.com)

题目的接口:

package main
import . "nc_tools"
/** type ListNode struct{*   Val int*   Next *ListNode* }*//*** 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可** * @param head ListNode类 * @param n int整型 * @return ListNode类
*/
func removeNthFromEnd( head *ListNode ,  n int ) *ListNode {// write code here
}

解题思路:

这道题的解题思路其实和上一题找出倒数后 k 个节点的思路是一样的,首先就是用快慢指针把 k 的位置找到,这里需要删除这个位置的节点,那咱们只需要把它的前一个节点找到就行,

所以只需要设置一个 prev 节点作为他的上一个节点就搞定了,代码如下:

代码:

package main
import . "nc_tools"
/** type ListNode struct{*   Val int*   Next *ListNode* }*//*** 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可** * @param head ListNode类 * @param n int整型 * @return ListNode类
*/
func removeNthFromEnd( head *ListNode ,  n int ) *ListNode {fast := headslow := headprev := headfor i := 0; i < n; i++ {fast = fast.Next}for fast != nil {slow = slow.Nextfast = fast.Next}if prev == slow {return slow.Next} else {for prev.Next != slow {prev = prev.Next}prev.Next = slow.Next}return head
}

过啦!!!

题目:两个链表的第一个公共结点_牛客题霸_牛客网 (nowcoder.com)

题目的接口:

package main
import . "nc_tools"
/** type ListNode struct{*   Val int*   Next *ListNode* }*//*** * @param pHead1 ListNode类 * @param pHead2 ListNode类 * @return ListNode类
*/
func FindFirstCommonNode( pHead1 *ListNode ,  pHead2 *ListNode ) *ListNode {// write code here
}

解题思路:

这道题目也有个很巧妙的解法,怎么找到相交链表他们相交的地方呢?只要他们把自己和对方的路都走一遍,这样他们走的路程就是一样的,这样他们相交的地方就是链表的交汇点了~

代码:

package main
import . "nc_tools"
/** type ListNode struct{*   Val int*   Next *ListNode* }*//*** * @param pHead1 ListNode类 * @param pHead2 ListNode类 * @return ListNode类
*/
func FindFirstCommonNode( pHead1 *ListNode ,  pHead2 *ListNode ) *ListNode {l1 := pHead1l2 := pHead2for l1 != l2 {if l1 == nil {l1 = pHead2} else {l1 = l1.Next}if l2 == nil {l2 = pHead1} else {l2 = l2.Next}}return l1
}

过啦!!!

写在最后:

以上就是本篇文章的内容了,感谢你的阅读。

如果感到有所收获的话可以给博主点一个哦。

如果文章内容有遗漏或者错误的地方欢迎私信博主或者在评论区指出~

相关文章:

【面试必刷TOP101】删除链表的倒数第n个节点 两个链表的第一个公共结点

目录 题目&#xff1a;删除链表的倒数第n个节点_牛客题霸_牛客网 (nowcoder.com) 题目的接口&#xff1a; 解题思路&#xff1a; 代码&#xff1a; 过啦&#xff01;&#xff01;&#xff01; 题目&#xff1a;两个链表的第一个公共结点_牛客题霸_牛客网 (nowcoder.com) …...

手刻 Deep Learning -第壹章 -PyTorch教学-激励函数与感知机入门(上)

一、前言 本文接续前篇教学 Pytorch 与线性回归 &#xff0c;本文着重在 Activation Function &#xff08; 中文称 激励函数 &#xff09;&#xff0c;我们会介绍激励函数 &#xff08;也有人称 激活函数&#xff1f; 激发函数&#xff1f; &#xff09; 为什么会有用&#xf…...

物理内存分配

目录 内核物理内存分配接口 内存分配行为&#xff08;物理上&#xff09; 内存分配的行为操作 内存 三个水位线 水线计算 水位线影响内存分配行为 内存分配核心__alloc_pages 释放页 1、内核物理内存分配接口 struct page *alloc_pages(gfp_t gfp, unsigned int ord…...

RFID产线自动化升级改造管理方案

应用背景 在现代制造业中&#xff0c;产线管理是实现高效生产和优质产品的关键环节&#xff0c;产线管理涉及到生产过程的监控、物料管理、工艺控制、质量追溯等多个方面&#xff0c;有效的产线管理可以提高生产效率、降低成本、改善产品质量&#xff0c;并满足市场需求的变化…...

全量数据采集:不同网站的方法与挑战

简介 在当今数字化时代中&#xff0c;有数据就能方便我们做出很多决策。数据的获取与分析已经成为学术研究、商业分析、战略决策以及个人好奇心的关键驱动力。本文将分享不同网站的全量数据采集方法&#xff0c;以及在这一过程中可能会遇到的挑战。 部分全量采集方法 1. 撞店…...

Redis——渐进式遍历和数据库管理命令

介绍 如果使用keys * 这样的操作&#xff0c;将Redis中所有的key都获取到&#xff0c;由于Redis是单线程工作&#xff0c;这个操作本身又要消耗很多时间&#xff0c;那么就会导致Redis服务器阻塞&#xff0c;后续的操作无法正常执行 而渐进式遍历&#xff0c;通过多次执行遍历…...

如何打造可视化警务巡防通信解决方案

近年来&#xff0c;科学技术飞速发展&#xff0c;给予了犯罪分子可乘之机。当面临专业化的犯罪分子、高科技的犯罪手段&#xff0c;传统警务模式似乎不能满足警方打击犯罪的需要&#xff0c;因此当今公安工作迫切需要构建智能化、系统化、信息化的警务通信管理模式。 警务人员…...

ATF(TF-A) SPMC威胁模型-安全检测与评估

安全之安全(security)博客目录导读 ATF(TF-A) 威胁模型汇总 目录 一、简介 二、评估目标 1、数据流图 三、威胁分析 1、信任边界 2、资产 3、威胁代理 4、威胁类型 5、威胁评估 5.1 端点在直接请求/响应调用中模拟发送方或接收方FF-A ID 5.2 篡改端点和SPMC之间的…...

BIO AIO NIO 的区别

BIO AIO NIO 是 Java 中用于 I/O 操作的三种不同的编程模型。它们的区别在于它们执行I/O 操作的方式和效率。在讲 BIO,NIO,AIO 之前先来回顾一下这样几个概念&#xff1a;同步与异步&#xff0c;阻塞与非阻塞。 同步与异步 同步&#xff1a;同步就是发起一个调用后&#xff…...

大数据学习1.1-Centos8网络配置

1.查看虚拟网卡 2.配置网络信息 打勾处取消 记住箭头的数字 3.修改 网络连接 4.进入虚拟网络 5.进入属性 6.修改IPv4 5.将iIP和DNS进行修改 6.配置网络信息-进入修改网络配置文件 # 进入root用户 su root # 进入网络配置文件 cd /etc/sysconfig/network-scripts/ # 修改网络配…...

在Android studio 创建Flutter项目运行出现问题总结

在Android studio 中配置Flutter出现的问题 A problem occurred configuring root project ‘android’出现这个问题。解决办法 首先找到flutter配置的位置 在D:\xxx\flutter\packages\flutter_tools\gradle位置中的flutter.gradle buildscript { repositories { googl…...

Ceph入门到精通-ceph对于长文件名如何处理

RADOS object with short name 上一篇博文&#xff0c;我们将介绍了对象相关的数据结构ghobject_t&#xff0c;以及对象在底层文件系统存储的文件名&#xff0c;以及如何从文件名对应到 ghobject_t对象。 映射关系如下图所示&#xff1a; 这里面有一个漏洞&#xff0c;即obje…...

vue+element-ui 项目实战示例详解【目录】

vue 和 element是两个流行的前端即时&#xff0c;通常用于管理后台&#xff0c;PC等页面 能够快速构建美观的界面 1. vue2 介绍 Vue.js是一个流行的JavaScript框架&#xff0c;用于构建用户界面。它的版本分为Vue 2和Vue 3&#xff0c;而Element是一个基于Vue.js 2的UI组件库。…...

性能测试-性能调优主要方向和原则(15)

性能调优主要方向明确性能瓶颈之后,就需要进行性能调优了,调优主要从图所示的多个方向入手。能优化手段并不一定是独立应用的,在一次优化过程中很可能应用了多种优化技巧。 硬件层面优化 硬件层面优化更偏向于监控,当定位到硬件资源成为瓶颈后,更多是采用扩容等手段来解决…...

关于taos数据库使用过程中突发“unable to establish connection”问题解决

项目使用的版本信息 1.taos的版本信息 3.0.4.1 2.jdbc的版本 3.2.1 3.druid连接池版本 1.2.11问题描述 Java应用服务连接&#xff0c;突然大量抛出如下的异常信息导致应用宕机&#xff1a; sql: select server_status(), desc: unable to establish connection和集团DBA沟通…...

【Qt】Qt中将字符串转换为数字类型的函数总结以及用法示例

在Qt中&#xff0c;可以使用以下函数将字符串转换为数字类型&#xff1a; toInt()&#xff1a;将字符串转换为int类型。toDouble()&#xff1a;将字符串转换为double类型。toFloat()&#xff1a;将字符串转换为float类型。toLongLong()&#xff1a;将字符串转换为long long类型…...

效率工具3-计算机网络工具

查看各个状态的tcp连接情况 netstat -n | awk ‘/^tcp/ {S[$NF]} END {for(a in S) print a, S[a]}’ /^tcp/ 正则表达式匹配 netstat 命令输出的匹配部分&#xff0c;即以 "TCP" 开始的行{S[$NF]} 对于符合条件的每一行&#xff0c;awk 命令将使用数组 S 来计算每…...

2万多条汉字笔画笔顺查询ACCESS\EXCEL数据库

发现很多新华字典类的数据都没有笔顺的相关数据&#xff0c;因此就找了一下笔顺查询相关&#xff0c;发现有两个模式&#xff0c;一种是每个字每个笔画都有一张图片&#xff08;很庞大的图片数据量&#xff09;&#xff1b;一种是笔画图片文件显示型&#xff0c;比如今天采集的…...

我的一周年创作纪念日,感谢有你们

机缘 还记得 2022 年 09 月 19 日吗&#xff1f; 我撰写了第 1 篇技术博客&#xff1a;《纯CSS实现Material文本框&#xff08;PC和移动端都可以使用&#xff09;》&#xff1b;从此就开始了我在CSDN记录日常工作中开发和学习的第一步。在后续又参加了新星计划&#xff0c;取得…...

【音视频】ffplay源码解析-PacketQueue队列

包队列架构位置 对应结构体源码 MyAVPacketList typedef struct MyAVPacketList {AVPacket pkt; //解封装后的数据struct MyAVPacketList *next; //下一个节点int serial; //播放序列 } MyAVPacketList;PacketQueue typedef struct PacketQueue {MyAVPacketList …...

C++ 霍夫变换圆形检测

霍夫变换圆形检测 一、检测原理二、实现步骤三、算法实现一、检测原理 HoughCircles 参数说明: HoughCircles(   InputArray image,  // 输入图像 ,必须是 8 位的单通道灰度图像   OutputArray circles,  // 输出结果,发现的圆信息   Int method,  // 方法 - HOUGH…...

​南阳师范学院图书馆藏《​乡村振兴战略下传统村落文化旅游设计》许少辉八一新著——2023学生开学季辉少许

​南阳师范学院图书馆藏《​乡村振兴战略下传统村落文化旅游设计》许少辉八一新著——2023学生开学季辉少许...

如何将你在树莓派上部署的 IoT 物联网 MQTT 服务发布到公网?

​ 上一章&#xff0c;你成功的在树莓派搭建了 EMQX 开源社区版&#xff0c;用来提供 MQTT 服务&#xff0c;并验证了设备端接入和消息通信。但你发现只能在局域网内访问 emqx.local 服务&#xff0c;而 IoT 设备分布在全国各地公共网络环境&#xff0c;这些设备该如何接入呢&a…...

系统架构设计师(第二版)学习笔记----软件工程

【原文链接】系统架构设计师&#xff08;第二版&#xff09;学习笔记----软件工程 文章目录 一、软件工程1.1 软件危机的表现1.2 软件工程的内容 二、软件过程模型2.1 软件的声明周期2.2 瀑布模型2.3 瀑布模型的缺点2.4 原型模型2.5 原型模型开发阶段2.6 开发原型的途径2.7 螺旋…...

C与C++字符串分割方法示例汇总

在C语言中&#xff0c;没有内置的字符串分割函数。但是&#xff0c;你可以使用其他字符串操作函数和循环来实现字符串分割。这里是使用 strtok 函数在C中分割字符串的示例&#xff1a; #include <stdio.h> #include <string.h> int main() {char str[] "Hel…...

HTTP代理与VPN:网络代理技术的比较

HTTP代理和VPN是两种常见的网络代理技术&#xff0c;它们可以帮助用户隐藏自己的IP地址、保护网络隐私、绕过网络限制等。本文将介绍HTTP代理和VPN的定义、工作原理、优缺点以及使用场景。 一、HTTP代理 HTTP代理是一种通过代理服务器转发网络请求的技术。当用户发起网络请求时…...

免费低代码平台,助企业高效管理任务

编者按&#xff1a;本文主要介绍了免费的低代码平台实现了高效的任务管理系统&#xff0c;助力企业在任务管理方面的效率更上一层楼&#xff01;这个免费的低代码平台&#xff0c;将提高员工的工作效率。它不仅是一个任务管理系统&#xff0c;更是一个能让 企业 摆脱繁琐工作&a…...

基于conda的相关命令

conda 查看python版本环境 打开Anaconda Prompt的命令输入框 查看自己的python版本 conda env list激活相应的python版本(环境&#xff09; conda avtivate python_3.9 若输入以下命令可查看python版本 python -V #注意V是大写安装相应的包 pip install 包名5.查看已安装…...

【微信小程序】swiper的使用

1.swiper的基本使用 <jxz-header></jxz-header> <view class"banner"><swiperprevious-margin"30rpx"autoplayinterval"2000"indicator-dotsindicator-color"rgba(0,0,0,0.3)"indicator-active-color"#bda…...

iText实战--PDF和iText 简介

PDF可以做如下事务 iText 5步创建PDF import java.io.FileOutputStream; import com.itextpdf.text.Document; import com.itextpdf.text.Paragraph; import com.itextpdf.text.pdf.PdfWriter;public class PdfHelloWorld {/*** param args*/public static void main(String[]…...

wordpress 在线生成app/宁波seo外包方案

文章目录0. 系统自带的内核树1. 环境配置2. 下载源码3. 构建准备4. 构建内核5. 安装模块附录参考链接0. 系统自带的内核树 有时&#xff0c;安装的系统已经自带了Linux内核树&#xff0c;足够用来编译驱动程序了。 自带的内核树通常位于 /lib/modules/<系统内核版本>/…...

做网站需要钱吗/合肥做网站哪家好

自己移植碰到这个问题 转载过来 大家借鉴一下 1.首先从网上下载的tslib-1.4.tar.gz2.解压 tar xvzf tslib-1.4.tar.gz ; cd tslib3.生成configure,这里比一般的开源项目少做一步,要先运行解压目录下的脚本./autogen.sh4.用configure 生成Makefile.生成脚本./configure --hostar…...

网站开发案例图片/如何让百度收录网站

硬盘坏道的修复方法介绍在使用计算机的过程中&#xff0c;我们最担心的就是硬盘出现故障&#xff0c;因为一旦硬盘出现故障就意味着我们的数据受到了严重的威胁。在诸多的硬盘故障中&#xff0c;硬盘坏道是最常见也是最让人头疼的故障之一了。硬盘坏道介绍引起坏道的原因很多&a…...

怎么介绍自己做的电影网站/seo网站推广

360手机N4S配置怎么样&#xff1f;360手机N4S值得购买吗&#xff1f;360手机N4S有几个版本&#xff1f;各版本有什么区别&#xff1f;下面脚本之家的小编就带来了360手机N4S各版本区别对比评测&#xff0c;一起来看看吧。外观设计360手机N4S是360手机N4的升级版&#xff0c;但是…...

做网站等保收费/怎么申请建立网站

[aligncenter][sizex-large][b][colorred] 在myeclipse配置subclipse插件&#xff0c;使用SVN服务器[/color][/b][/size][/align][colorgreen]项目管理软件&#xff1a;Subversion(SVN服务器客户端)下载[/color]&#xff1a;[url]http://subversion.apache.org/[/url][colorgre…...

静态网站怎么做百度推广/企业网络营销顾问

我希望我的Spring批处理应用程序一次从数据库中读取50条记录,然后将这50条记录发送到处理器,然后再发送给编写器.有人可以告诉我如何做到这一点.我尝试使用JdbcPagingItemReader并将pageSize设置为50,该值可读取50条记录,但是rowMapper,处理器和writer一次只能接收一条记录,而不…...