题解 | #二维数组中的查找#

最长回文子串

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

中心扩散法 Java版本

import java.util.*;

public class Solution {
    public int getLongestPalindrome(String A, int n) {
        // write code here
        int length = A.length();
        int maxLen = 1;
        // 遍历C位
        for (int i = 0; i < length; i++) {
            int left = i - 1;
            int right = i + 1;
            int len = 1;
            // 判断左边是否与C位相同
            while (left >= 0 && A.charAt(left) == A.charAt(i)) {
                len++;
                left--;
            }
            // 判断右边是否与C位相同
            while (right < length && A.charAt(right) == A.charAt(i)) {
                len++;
                right++;
            }
            // 正常左右扩散
            while (left >= 0 && right < length && A.charAt(left) == A.charAt(right)) {
                len += 2;
                left--;
                right++;
            }
            maxLen = Math.max(maxLen, len);
        }
        return maxLen;
    }
}
全部评论

相关推荐

看到好多帖子双9都kuku挂,双9都挂,那我还投啥啊
_追梦旅人_:同学考虑我司不,我们正在秋招,可在我主页看岗位,感兴趣可直接投递~
点赞 评论 收藏
分享
搞机墨镜猫:生产实习放项目下面,简化一点,如果有更好的东西就可以直接替换掉,比如你说你拆过他们的伺服电机很了解结构,可以照着画一下写成项目 项目看看能不能再找一个课设之类的包装一下(别写减速器),两个项目比较好,把项目后面的三位建模几个字去掉(这样会觉得有实物)
机械人,你的秋招第一份简...
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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