5. Longest Palindromic Substring

来源:互联网 发布:js radio赋值 编辑:程序博客网 时间:2024/05/16 05:34

Given a string s, find the longest palindromic substring in s. You may assume that the maximum
Example:

Input: "babad"Output: "bab"Note: "aba" is also a valid answer.

Example:

Input: "cbbd"Output: "bb"

想到了奇数偶数的情况但是想歪了,想到动态规划去了。。后来参考了一下别人的提交的,mark
ps:最近总是把if写成while。。。需要留意

public class Solution {    int begin, maxLen = 0;    public String longestPalindrome(String s) {        int len = s.length();        if (len < 2) {            return s;        }        for (int i = 0; i < len-1; i++) {            extendPalindrome(s, i, i);            extendPalindrome(s, i, i+1);        }        return s.substring(begin, maxLen + begin);    }    private void extendPalindrome(String s, int i, int j) {        while (i >= 0 && j < s.length() && s.charAt(i) == s.charAt(j)) {            i--;            j++;        }        if (maxLen < j - i - 1) {            maxLen = j - i - 1;            begin = i + 1;        }    }}
0 0
原创粉丝点击