华为OD机试 -最长回文子串(C++ & Java & JS & Python)

描述

给定一个仅包含小写字母的字符串,求它的最长回文子串的长度。

所谓回文串,指左右对称的字符串。

所谓子串,指一个字符串删掉其部分前缀和后缀(也可以不删)的字符串

数据范围:字符串长度1≤�≤350 1≤s≤350 

进阶:时间复杂度:�(�) O(n) ,空间复杂度:�(�) O(n) 

输入描述:

输入一个仅包含小写字母的字符串

输出描述:

返回最长回文子串的长度

示例1

输入:

cdabbacc

输出:

4

说明:

abba为最长的回文子串   

Java:

import java.util.*;

public class Main {
    public static void main(String args[]) {
        Scanner input = new Scanner(System.in);
        String s = input.nextLine();
        int max = 0;
        /**
        *双指针遍历找到最长子串
        */
        for (int i = 0; i < s.length(); i++) {
            for (int j = s.length(); j > i; j--) {
                String toBeJuged = s.substring(i, j);

猜你喜欢

转载自blog.csdn.net/m0_68036862/article/details/132873797
今日推荐