单链表经典算法OJ题---力扣206,876(带图详解

news2024/11/28 12:53:10

1.链接:. - 力扣(LeetCode)【点击即可跳转】

思路:创建三个指针,看下图

注意:n3如果为空,则不能继续指向下一节点,需要进行判断

代码实现:

struct ListNode* reverseList(struct ListNode* head)
{
    if(head==NULL)//头节点为空,直接返回
    {
        return head;
    }
    //创建三个指针
  struct ListNode* n1,*n2,*n3;
  n1=NULL, n2=head, n3=head->next;
   while(n2!=n3)
   {
    n2->next=n1;
    n1=n2;
    n2=n3;

    if(n3)//n3如果为空,则不能继续指向下一节点
    n3=n3->next;
   }
  return n1;
}

2.链接:. - 力扣(LeetCode)【点击即可跳转】

思路:快慢指针 【slow每次走1步,fast每次走2步】

循环一次:

循环两次:

在奇数个节点中成立,偶数个节点中也是可行的。

代码实现:

struct ListNode* middleNode(struct ListNode* head) 
{
    //创建快慢指针
  struct ListNode*slow=head;
  struct ListNode*fast=head;

  while(fast&&fast->next)
  {
   slow=slow->next;
   fast=fast->next->next;
  }
  //此时slow刚好指向的就是中间节点
   return slow;
}

感谢观看,如果对你有所帮助,点赞支持一下吧!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1668449.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

VS中scanf使用的常见问题

本篇文章给大家讲一讲如何解决scanf使用的常见问题 那么先给大家看一下scanf在vs编译器中出现的问题 从图中大家可以看到这串代码报错了,那么我们来看看报错信息 从图中我们可以看到,vs说scanf不安全,并且也给了我们两种解决方法 第一种&…

路由器、交换机和网卡

大家使用VMware安装镜像之后,是不是都会考虑虚拟机的镜像系统怎么连上网的,它的连接方式是什么,它ip是什么? 路由器、交换机和网卡 1.路由器 一般有几个功能,第一个是网关、第二个是扩展有线网络端口、第三个是WiFi功…

数据恢复软件 –最好的Android数据恢复软件分享

在安卓数据恢复方面,奇客数据恢复安卓版是最好的 Android 数据恢复公司,因为它的成功率为 100%。随着无数企业和个人使用智能手机和平板电脑,总是有很多数据丢失或损坏的机会,这就是它们如此受欢迎的原因。在恢复数据时&#xff0…

vue+springboot项目服务器部署

①创建一台opencloud8的腾讯云服务器 ②用xshell连接服务器 ③vue中新建.env.development配置文件 .env.development: VUE_APP_BASEURLhttp://localhost:9090 .env.production: VUE_APP_BASEURLhttp://服务器ip:9090 ④修改main.js import Vue from vue import App from ./A…

IB 公式解析

公式 3.2. Influence Function 影响函数允许我们在移除样本时估计模型参数的变化,而无需实际移除数据并重新训练模型。 3.3 影响平衡加权因子 3.4 影响平衡损失 3.5 类内重加权 m代表一个批次(batch)的大小,这意味着公式对一个批…

【qt】最快的开发界面效率——混合编程

混合编程 一.准备工作1.创建项目2.添加项目资源 二.ui界面设计1.menuBar菜单栏2.action ▲3.toolBar工具栏4.中心组件 三.代码界面设计1.toolBar添加组件2.statusBar状态栏添加组件 四.完成界面的功能1.对action配置信号槽2.对action转到信号槽3.代码添加的组件手动关联槽函数 …

鸿蒙内核源码分析(Shell编辑篇) | 两个任务,三个阶段

系列篇从内核视角用一句话概括shell的底层实现为:两个任务,三个阶段。其本质是独立进程,因而划到进程管理模块。每次创建shell进程都会再创建两个任务。 客户端任务(ShellEntry): 负责接受来自终端(控制台)敲入的一个个字符&…

第五步->手撕spring源码之资源加载器解析到注册

本步骤目标 在完成 Spring 的框架雏形后,现在我们可以通过单元测试进行手动操作 Bean 对象的定义、注册和属性填充,以及最终获取对象调用方法。但这里会有一个问题,就是如果实际使用这个 Spring 框架,是不太可能让用户通过手动方式…

PD-L1表达与免疫逃逸和免疫响应

免疫检查点信号转导和癌症免疫治疗(文献)-CSDN博客https://blog.csdn.net/hx2024/article/details/137470621?ops_request_misc%257B%2522request%255Fid%2522%253A%2522171551954416800184136566%2522%252C%2522scm%2522%253A%252220140713.130102334.…

webrtc windows 编译,以及peerconnection_client

webrtc windows环境编译,主要参考webrtc官方文档,自备梯子 depot tools 安装 Install depot_tools 因为我用的是windows,这里下载bundle 的安装包,然后直接解压,最后设置到环境变量PATH。 执行gn等命令不报错&…

A计算机上的程序与B计算机上部署的vmware上的虚拟机的程序通讯 如何配置?

环境: 在A计算机上运行着Debian11.3 Linux操作系统;在B计算机上运行着Windows10操作系统,并且安装了VMware软件,然后在VMware上创建了虚拟机C并安装了CentOS 6操作系统 需求: 现在A计算机上的程序需要同虚拟机C上的软…

【递归、回溯和剪枝】全排列 子集

0.回溯算法介绍 什么是回溯算法 回溯算法是⼀种经典的递归算法,通常⽤于解决组合问题、排列问题和搜索问题等。 回溯算法的基本思想:从⼀个初始状态开始,按照⼀定的规则向前搜索,当搜索到某个状态⽆法前进时,回退到前…

docker容器实现https访问

前言: 【云原生】docker容器实现https访问_docker ssl访问-CSDN博客 一术语介绍 ①key 私钥 明文--自己生成(genrsa ) ②csr 公钥 由私钥生成 ③crt 证书 公钥 签名(自签名或者由CA签名) ④证书&#xf…

Eclipse下载安装教程(包含JDK安装)【保姆级教学】【2024.4已更新】

目录 文章最后附下载链接 第一步:下载Eclipse,并安装 第二步:下载JDK,并安装 第三步:Java运行环境配置 安装Eclipse必须同时安装JDK !!! 文章最后附下载链接 第一步&#xf…

Go编程语言的调试器Delve | Goland远程连接Linux开发调试(go远程开发)

文章目录 Go编程语言的调试器一、什么是Delve二、delve 安装安装报错cgo: C compiler "gcc" not found: exec: "gcc": executable file not found in $PATH解决 三、delve命令行使用delve 常见的调试模式常用调试方法todo调试程序代码与动态库加载程序运行…

Unity编辑器如何多开同一个项目?

在联网游戏的开发过程中,多开客户端进行联调是再常见不过的需求。但是Unity并不支持编辑器多开同一个项目,每次都得项目打个包(耗时2分钟以上),然后编辑器开一个进程,exe 再开一个,真的有够XX的。o(╥﹏╥)o没错&#…

Windows下安装 Emscripten 详细过程

背景 最近研究AV1编码标准的aom编码器,编译的过程中发现需要依赖EMSDK,看解释EMSDK就是Emscripten 的相应SDK,所以此博客记录下EMSDK的安装过程;因为之前完全没接触过Emscripten 。 Emscripten Emscripten 是一个用于将 C 和 …

JAVA基础--IO

IO 什么是IO 任何事物提到分类都必须有一个分类的标准,例如人,按照肤色可分为:黄的,白的,黑的;按照性别可分为:男,女,人妖。IO流的常见分类标准是按照*流动方向*和*操作…

k8s 数据流向 与 核心概念详细介绍

目录 一 k8s 数据流向 1,超级详细版 2,核心主键及含义 3,K8S 创建Pod 流程 4,用户访问流程 二 Kubernetes 核心概念 1,Pod 1.1 Pod 是什么 1.2 pod 与容器的关系 1.3 pod中容器 的通信 2, …

Servlet讲解

Servlet生命周期 我们只需要继承Servlet接口,查看方法即可看出Servlet的生命周期 import java.io.IOException;import javax.servlet.Servlet; import javax.servlet.ServletConfig; import javax.servlet.ServletException; import javax.servlet.ServletRequest…