leetcode 5.最长回文子串
创始人
2025-01-09 04:03:07
0

思路:

对于回文,分为两种

1、奇数长度回文,以一个字符作为中心。

2、偶数长度回文,以两个字符作为中心。

private static int longestLen(String s,  int left, int right){         while(left >= 0 && right < s.length()){             if(s.charAt(left) != s.charAt(right)){                 break;             }             left--;             right++;         }         return right - left - 1;     }

该函数结合奇数和偶数情况,对中心两侧的字符进行检查,以获取回文串的最大长度。

在获取了最大长度后,加之中心字符的索引,我们就可以得到该回文字符串。

这里需要注意返回的内容是right - left -1;

如果不理解可以随手画个图感受一下。

主函数:

    public String longestPalindrome(String s) {         if(s==null || s.length() == 1) return s;         int index = 0;         int length = 1;         for (int i = 0; i < s.length(); i++) {             int len1 = longestLen(s, i, i);             int len2 = longestLen(s, i, i + 1);             if(len1 > length){                 length = len1;                 index = i - length / 2;             }             if(len2 > length){                 length = len2;                 index = i - length / 2 + 1;             }          }         return s.substring(index, index + length);     }

相关内容

热门资讯

超级完整的 Git的下载、安装... Git的下载、安装、配置与使用 以及命令一、Git下载安装1、访问git官方下载网址,...
【保姆级图文教程】QT下载、安... 目录0.前言Qt介绍其他1.下载QT2.创建并编写第一个Qt程序3.配置Visual Studio编...
今日公布《wePoKe》软件透... 今日公布《wePoKe》软件透明挂!(软件)透明挂规律(2023已更新)(哔哩哔哩);亲,有的,ai...
第一方教程!微扑克app辅助脚... 第一方教程!微扑克app辅助脚本(辅助挂)原来真的是有挂(有挂讲解)详细教程(哔哩哔哩);亲,有的,...
空安全编程的典范:Java 8... 文章目录一、Base64 编码解码1.1 基本的编码和解码1.2 URL 和文件名安全的编码解码器1...
零基础STM32单片机编程入门... 文章目录一.概要二.DHT11主要性能参数三.DHT11温度传感器内部框图四.DTH11模块原理图五...
YOLOV8最强操作教程. YoloV8详细训练教程.相信各位都知道yolov8发布了,也是U神大作,...
查到实测wepOke软件透明挂... 查到实测wepOke软件透明挂!太离谱了其实是有猫腻的(今日头条)(哔哩哔哩)查到实测wepOke软...
我来教教你!wpk系统(Wpk... 我来教教你!wpk系统(Wpk)透视辅助!(辅助透视)详细教程(2024已更新)(哔哩哔哩)是一款可...
2021已更新微扑克线上原来确... 《微扑克软件透明挂》是一款多人竞技的微扑克辅助透视游戏,你将微扑克对手来到同一个战场,为至高无上的荣...