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);     }

相关内容

热门资讯

总算了解!!约局吧作必弊脚本,... 总算了解!!约局吧作必弊脚本,微乐游戏竞技团辅助(透视)确实真的有工具(哔哩哔哩)1、点击下载安装,...
不少玩家反映!智星菠萝辅助,微... 不少玩家反映!智星菠萝辅助,微乐老友广东辅助器(透视)好像是有方法(哔哩哔哩)1)微乐老友广东辅助器...
重大消息!约局吧如何查看是否有... 重大消息!约局吧如何查看是否有挂,微信微乐辅助器使用教程(透视)竟然有有插件(哔哩哔哩)1、点击下载...
推荐攻略!拱趴大菠萝怎么开挂,... 推荐攻略!拱趴大菠萝怎么开挂,微信微乐挂有没有(透视)本来是真的有app(哔哩哔哩)微信微乐挂有没有...
玩家必看科普!xpoker透视... 玩家必看科普!xpoker透视辅助,微乐自建房辅助软件如何下载(透视)切实是真的有技巧(哔哩哔哩)1...
玩家亲测!哈糖大菠萝怎么开挂,... 玩家亲测!哈糖大菠萝怎么开挂,微乐自建房插件详细教程(透视)好像真的有器(哔哩哔哩)1、操作简单,无...
盘点几款!哈糖大菠萝有挂吗5个... 盘点几款!哈糖大菠萝有挂吗5个常用方法,微乐陕西小程序破解器(透视)都是存在有软件(哔哩哔哩)1、金...
有玩家发现!竞技联盟破解版最新... 有玩家发现!竞技联盟破解版最新版,微乐家乡官方app下载(透视)总是存在有技巧(哔哩哔哩)1、实时微...
玩家必看教程!!we poke... 玩家必看教程!!we poker免费辅助器,微乐自建房黑科技辅助工具下载(透视)总是是有软件(哔哩哔...
专业讨论!!哈糖大菠萝有挂吗5... 专业讨论!!哈糖大菠萝有挂吗5个常用方法,微乐小程序免费黑科技下载方法(透视)一直真的是有脚本(哔哩...