当前位置: 首页 > 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
}

相关文章:

  • Qt Style Sheets-样式表语法
  • vue检测页面手指滑动距离,执行回调函数,使用混入的语法,多个组件都可以使用
  • 微信小程序与本地MySQL数据库通信
  • 2024.7.17 ABAP面试题目总结
  • Hadoop-34 HBase 安装部署 单节点配置 hbase-env hbase-site 超详细图文 附带配置文件
  • .NET Framework、.NET Core 、 .NET 5、.NET 6和.NET 7 和.NET8 简介及区别
  • 3D问界—MAYA制作铁丝栅栏(透明贴图法)
  • 用Python轻松批量生成Word合同:解放双手,喝口咖啡就搞定!☕
  • 【Karapathy大神build-nanogpt】Take Away Notes
  • Android 12系统源码_存储(二)StorageManager类介绍
  • MySQL数据库慢查询日志、SQL分析、数据库诊断
  • 1.厦门面试
  • 学习Python的IDE功能--(一)入门导览
  • uniapp小程序上传pdf文件
  • 好玩的调度技术-场景编辑器
  • ES6指北【2】—— 箭头函数
  • (ckeditor+ckfinder用法)Jquery,js获取ckeditor值
  • 「前端」从UglifyJSPlugin强制开启css压缩探究webpack插件运行机制
  • 【划重点】MySQL技术内幕:InnoDB存储引擎
  • Android 架构优化~MVP 架构改造
  • CentOS 7 修改主机名
  • css属性的继承、初识值、计算值、当前值、应用值
  • HTML5新特性总结
  • Js实现点击查看全文(类似今日头条、知乎日报效果)
  • Linux链接文件
  • Markdown 语法简单说明
  • PyCharm搭建GO开发环境(GO语言学习第1课)
  • ReactNativeweexDeviceOne对比
  • Spring框架之我见(三)——IOC、AOP
  • webgl (原生)基础入门指南【一】
  • 工程优化暨babel升级小记
  • 前端js -- this指向总结。
  • 容器化应用: 在阿里云搭建多节点 Openshift 集群
  • 如何将自己的网站分享到QQ空间,微信,微博等等
  • 实现菜单下拉伸展折叠效果demo
  • MyCAT水平分库
  • 阿里云ACE认证之理解CDN技术
  • ​【C语言】长篇详解,字符系列篇3-----strstr,strtok,strerror字符串函数的使用【图文详解​】
  • $NOIp2018$劝退记
  • (1)(1.9) MSP (version 4.2)
  • (12)目标检测_SSD基于pytorch搭建代码
  • (20)目标检测算法之YOLOv5计算预选框、详解anchor计算
  • (4)事件处理——(2)在页面加载的时候执行任务(Performing tasks on page load)...
  • (Qt) 默认QtWidget应用包含什么?
  • (vue)el-checkbox 实现展示区分 label 和 value(展示值与选中获取值需不同)
  • (八)光盘的挂载与解挂、挂载CentOS镜像、rpm安装软件详细学习笔记
  • (附源码)基于ssm的模具配件账单管理系统 毕业设计 081848
  • (算法)硬币问题
  • (文章复现)基于主从博弈的售电商多元零售套餐设计与多级市场购电策略
  • (一)WLAN定义和基本架构转
  • (转)C语言家族扩展收藏 (转)C语言家族扩展
  • (转)PlayerPrefs在Windows下存到哪里去了?
  • (最简单,详细,直接上手)uniapp/vue中英文多语言切换
  • ******IT公司面试题汇总+优秀技术博客汇总
  • .net dataexcel 脚本公式 函数源码