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

Golang | Leetcode Golang题解之第234题回文链表

题目:

题解:

func reverseList(head *ListNode) *ListNode {var prev, cur *ListNode = nil, headfor cur != nil {nextTmp := cur.Nextcur.Next = prevprev = curcur = nextTmp}return prev
}func endOfFirstHalf(head *ListNode) *ListNode {fast := headslow := headfor fast.Next != nil && fast.Next.Next != nil {fast = fast.Next.Nextslow = slow.Next}return slow
}func isPalindrome(head *ListNode) bool {if head == nil {return true}// 找到前半部分链表的尾节点并反转后半部分链表firstHalfEnd := endOfFirstHalf(head)secondHalfStart := reverseList(firstHalfEnd.Next)// 判断是否回文p1 := headp2 := secondHalfStartresult := truefor result && p2 != nil {if p1.Val != p2.Val {result = false}p1 = p1.Nextp2 = p2.Next}// 还原链表并返回结果firstHalfEnd.Next = reverseList(secondHalfStart)return result
}
http://www.lryc.cn/news/401972.html

相关文章:

  • Unity Apple Vision Pro 开发(四):体积相机 Volume Camera
  • C语言 | Leetcode C语言题解之第231题2的幂
  • GitHub备份代码的学习笔记
  • 微信小程序与本地MySQL数据库通信
  • Flutter热更新技术探索
  • 【机器学习-00】机器学习是什么?
  • 【BUG】已解决:WslRegisterDistribution failed with error: 0x800701bc
  • 无人机监测的必要性及方法
  • PHP框架详解:Symfony框架
  • 在 Navicat BI 创建自定义字段:类型更改字段
  • llama-index,uncharted and llama2:7b run locally to generate Index
  • vue、js截取视频任意一帧图片
  • STM32智能家居系统教程
  • uniapp 开发 App 对接官方更新功能
  • 【PostgreSQL】PostgreSQL 教程
  • Qt类 | QLabel类详解
  • 深入剖析 Android 开源库 EventBus 的源码详解
  • End-to-End Object Detection with Transformers【目标检测-方法详细解读】
  • CSS3实现提示工具的渐入渐出效果及CSS3动画简介
  • JVM 垃圾回收算法
  • 吴恩达大模型系列课程《Prompt Compression and Query Optimization》中文学习打开方式
  • 2.javaWeb_请求和响应的处理(Request,Response)
  • 用C++、Python、Rust编写的有安全问题的B树
  • 问题:当直齿圆柱齿轮的齿数少于?时,可采用 变位的办法来避免根切。 #学习方法#其他
  • 请你谈谈:spring bean的生命周期 - 阶段2:Bean实例化阶段
  • 【开发指南】HTML和JS编写多用户VR应用程序的框架
  • C语言第6天作业 7月17日
  • 【BES2500x系列 -- RTX5操作系统】深入探索CMSIS-RTOS RTX -- 配置篇 -- flash的使用 --(八)
  • vue视频、图片自动轮播并伴随进度条
  • Android Studio环境安装指南