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

Golang | Leetcode Golang题解之第214题最短回文串

题目:

题解:

func shortestPalindrome(s string) string {n := len(s)fail := make([]int, n)for i := 0; i < n; i++ {fail[i] = -1}for i := 1; i < n; i++ {j := fail[i - 1]for j != -1 && s[j + 1] != s[i] {j = fail[j]}if s[j + 1] == s[i] {fail[i] = j + 1}}best := -1for i := n - 1; i >= 0; i-- {for best != -1 && s[best + 1] != s[i] {best = fail[best]}if s[best + 1] == s[i] {best++}}add := ""if best != n - 1 {add = s[best + 1:]}b := []byte(add)for i := 0; i < len(b) / 2; i++ {b[i], b[len(b) - 1 -i] = b[len(b) - 1 -i], b[i]}return string(b) + s
}
http://www.lryc.cn/news/390687.html

相关文章:

  • 【ajax实战08】分页功能
  • 基于Hadoop平台的电信客服数据的处理与分析②项目分析与设计---需求分析-项目场景引入
  • debug-mmlab
  • 年轻人为什么那么爱喝奶茶?
  • 手写数组去重
  • Firewalld 防火墙
  • Hive查询优化 - 面试工作不走弯路
  • 【VUE3】uniapp + vite中 uni.scss 使用 /deep/ 不生效(踩坑记录三)
  • 容器部署rabbitmq集群迁移
  • DP:背包问题----0/1背包问题
  • React antd umi 监听当前页面离开,在菜单栏提示操作
  • 在 Windows PowerShell 中模拟 Unix/Linux 的 touch 命令
  • 鸿蒙NEXT
  • VUE3-Elementplus-form表单-笔记
  • Analyze an ORA-12801分析并行 parallel 12801 实际原因
  • 高级运维工程师讲述银河麒麟V10SP1服务器加固收回权限/tmp命令引起生产mysql数据库事故实战
  • 昇思25天学习打卡营第09天|sea_fish
  • flutter开发实战-Charles抓包设置,dio网络代理
  • Elasticsearch:Runtime fields - 运行时字段(二)
  • Python正则表达式的入门用法(上)
  • Audio Processing Graphs 管理 Audio Units
  • 欧盟,又出了新规-通用充电器新规通用充電器的 RED 修正案如何办理?
  • thinkphp6/8 验证码
  • Ubuntu 22.04 LTS 上安装 MySQL8.0.23(在线安装)
  • 如何选择优质模型?SD3性能究竟如何?
  • Linux上脚本备份数据库(升级版)
  • 【深度解析】滑动窗口:目标检测算法的基石
  • 约束:对于数据的限制
  • 【总线】AXI4第七课时:AXI的额外的控制信息(PROT和CACHE)
  • MAVEN 重新配置参考