java题目HJ85 最长回文子串
描述
给定一个仅包含小写字母的字符串,求它的最长回文子串的长度。
所谓回文串,指左右对称的字符串。
所谓子串,指一个字符串删掉其部分前缀和后缀(也可以不删)的字符串
数据范围:字符串长度1\le s\le 350\1≤s≤350
进阶:时间复杂度:O(n)\O(n) ,空间复杂度:O(n)\O(n)
输入描述:
输入一个仅包含小写字母的字符串
输出描述:
返回最长回文子串的长度
示例1
输入:
cdabbacc
输出:
4
说明:
abba为最长的回文子串
回文串:准确说应该是正反读相同如abdba的回文串是5
1 import java.util.*; 2 3 public class Main { 4 public static void main(String args[]) { 5 Scanner input = new Scanner(System.in); 6 String s = input.nextLine(); 7 int max = 0; 8 /** 9 *双指针遍历找到最长子串 10 */ 11 for (int start = 0; start < s.length(); start ++){ 12 for (int end =s.length(); end > start; end--) { 13 String compared = s.substring(start, end); 14 if (isPalindromeString(compared)) { 15 max = Math.max(max, end - start); 16 } 17 } 18 } 19 System.out.print(max); 20 } 21 22 /** 23 *判断一个字符串是否是回文字符串的方法 24 */ 25 static boolean isPalindromeString(String s) { 26 StringBuilder s1 =new StringBuilder(s); 27 return s.equals(s1.reverse().toString()); 28 } 29 }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix