成都网站建设设计

将想法与焦点和您一起共享

java中如何实现最长回文子串

这篇文章给大家分享的是有关java中如何实现最长回文子串的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

创新互联是一家专注于成都网站设计、成都网站制作与策划设计,静宁网站建设哪家好?创新互联做网站,专注于网站建设10余年,网设计领域的专业建站公司;建站业务涵盖:静宁等地区。静宁做网站价格咨询:18980820575

最长回文子串

给你一个字符串 s,找到 s 中最长的回文子串。

链接:https://leetcode-cn.com/problems/longest-palindromic-substring

示例 1:
输入:s = "babad"
输出:"bab"
解释:"aba" 同样是符合题意的答案。

示例 2:
输入:s = "cbbd"
输出:"bb"

示例 3:
输入:s = "a"
输出:"a"

示例 4:
输入:s = "ac"
输出:"a"
// 在评论区看到的解法,简单易懂,效率高
class Solution {
    public String longestPalindrome(String s) {
        if(s.length() ==1){
            return s;
        }
        // arr保存回文的起始下标和结束下标
        char[] arr = s.toCharArray();
        int[] res = new int[2];
        // 回文即是中间相同,左右对称的字符串,先确定中间对称的部分,再向两边扩展。
        for(int i=0;i0&&end res[1]-res[0]){
            res[0] = start;
            res[1] = end;
        }
        // 重点:很好的提高了效率
        return ans;
    }
}

感谢各位的阅读!关于“java中如何实现最长回文子串”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!


分享名称:java中如何实现最长回文子串
文章地址:http://chengdu.cdxwcx.cn/article/jcepps.html