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

Go语言每日一题——链表篇(七)

传送门

牛客面试笔试必刷101题 ----------------删除链表的倒数第n个节点

题目以及解析

题目

在这里插入图片描述

解题代码及解析

解析

这一道题与昨天的题目在解题思路上有一定的相似之处,都是基于双指针定义快慢指针,这里我们让快指针先走n步,又因为n一定为有效值,所以快指针为空时,慢指针刚好离快指针n个单位距离,即链表的倒数第n个节点

代码

package mainimport _ "fmt"
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 := headfor i := 0; i < n+1; i++ {if fast == nil {return head.Next}fast = fast.Next}for fast != nil {slow = slow.Nextfast = fast.Next}slow.Next = slow.Next.Nextreturn head
}

总结:

这题依旧是一道链表题,但是它很好的体现双指针思想的引用,大家可以简单的思考一下,用这道题来作为双指针算法的练手题

http://www.lryc.cn/news/296636.html

相关文章:

  • 【stomp实战】websocket原理解析与简单使用
  • 2024.1.30力扣每日一题——使循环数组所有元素相等的最少秒数
  • 【Java万花筒】数据魔术师:探索Java商业智能与数据可视化
  • python用yaml装参数并支持命令行修改
  • 第59讲订单数据下拉实现
  • [当人工智能遇上安全] 11.威胁情报实体识别 (2)基于BiGRU-CRF的中文实体识别万字详解
  • 16:定时器和计数器
  • c#通过ExpressionTree 表达式树实现对象关系映射
  • 《动手学深度学习(PyTorch版)》笔记7.2
  • 【MySQL进阶之路】BufferPool 生产环境优化经验
  • Vim工具使用全攻略:从入门到精通
  • Chapter 8 - 7. Congestion Management in TCP Storage Networks
  • 带你快速入门js高级-基础
  • 数据结构与算法-链表(力扣附链接)
  • 多线程JUC:等待唤醒机制(生产者消费者模式)
  • 无人机动力系统高倍率锂聚合物电池介绍,无人机锂电池使用与保养,无人机飞行控制动力源详解
  • [BeginCTF]真龙之力
  • 手写分布式存储系统v0.3版本
  • 除夕快乐!
  • 17:定时器编程实战
  • Fink CDC数据同步(五)Kafka数据同步Hive
  • ubuntu原始套接字多线程负载均衡
  • leetcode (算法)66.加一(python版)
  • DataX源码分析 TaskGroupContainer
  • 2024年华为OD机试真题-螺旋数字矩阵-Java-OD统一考试(C卷)
  • 红队打靶练习:PHOTOGRAPHER: 1
  • 【Linux】网络诊断 traceroute命令详解
  • c#cad 创建-圆(二)
  • 面试高频知识点:2线程 2.1.5如何自定义实现一个线程池
  • 【stm32】hal库学习笔记-ADC模数转换(超详细)