import java.util.*; public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param s string字符串 * @return string字符串 */ public String longestPalindrome (String s) { // write code here int length = 1; String str = s; for (int i = 0; i < s.length(); i++) { for (int j = i + 1; j <= s.length(); j++) { if (j - i >= length && isParame(s.substring(i, j))) { length = Math.max(length, j - i); str = s.substring(i, j); } } } return str; } public static boolean isParame(String s) { StringBuilder stringBuffer = new StringBuilder(); stringBuffer.append(s); return stringBuffer.reverse().toString().equals(s); } }
本题考察的知识点是动态规划,所用编程语言是java。
我偷了懒,直接使用暴力算法,采用双重循环来遍历字符串的所有子字符串并判断是否是回文串