LeetCode 5题目思路仅此回文子串题指针从中心走向两端如何确定指针 for循环遍历每个索引 使用for遍历每一个索引 偶数则指针为i 和 i 奇数则指针为i 和 i1最后更新最长的结果r注意substring是左闭右开Java实现classSolution{publicStringlongestPalindrome(Strings){Stringr;// 长度为0便于比较// 左右指针从中间向两边移动for(inti0;is.length();i){Strings1find(s,i,i);// 找到以i位置为中心的回文串Strings2find(s,i,i1);// 找到以i和i1位置为中心的回文串 // find有while防止空指针异常rr.length()s1.length()?r:s1;rr.length()s2.length()?r:s2;// 更新r结果}returnr;}// 判断是否为回文格式Stringfind(Strings,intl,intr){// 防止空指针异常while(l0rs.length()s.charAt(l)s.charAt(r)){l--;r;// 指针向两边展开}// 不满足while条件后会跳出l和r回多运行一次 l-- r 所以要l1但不用r-1因为substring是左闭右开returns.substring(l1,r);}}