题解 | #最长回文子串#

最长回文子串

http://www.nowcoder.com/practice/b4525d1d84934cf280439aeecc36f4af

import java.util.*;

public class Solution {
    public int getLongestPalindrome(String A, int n) {
        // write code here
      //给个初始最大长度,如果比我大则交换
        int res = 0;
      //暴力判断
        for(int i=0;i<=n;i++){
          //注意由于截取字符串取头不取尾,所以可以=n
            for(int j=i+1;j<=n;j++){
                String str = A.substring(i,j);
                if(isTrue(str)){
                    res = Math.max(j-i,res);
                }
            }
        }
        return res;
        
    }
  
  //传入字数串参数,判断字符串是否为回文串
    public boolean isTrue(String str){
        int start,end;
        start = 0;
        end = str.length()-1;
        char[] arr = str.toCharArray();
        boolean flag = true;
        while(start<end){
          //字符串如果有两个对称的字符不相等则不是回文串
            if(arr[start]!=arr[end]){
               flag = false;
                break;
            }
            start++;
            end--;
        }
        return flag;
    }
}
全部评论

相关推荐

投递长鑫存储等公司7个岗位
点赞 评论 收藏
分享
07-02 10:44
门头沟学院 C++
码农索隆:太实诚了,告诉hr,你能实习至少6个月
点赞 评论 收藏
分享
06-08 22:25
门头沟学院 Java
从零开始的转码生活:这hr不会打开手机不分青红皂白给所有人群发这句话,过一会再给所有人再发一遍,这肯定会有重复的,不管,再过一会再发一遍
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务