Leetcode 5 - Longest Palindromic Substring

来源:互联网 发布:linux 还原系统时间 编辑:程序博客网 时间:2024/06/05 23:48

Given a string S, find the longest palindromic substring in S. You may assume that the maximum length of S is 1000, and there exists one unique longest palindromic substring.

1 - 简单的动态规划。

class Solution {public:    string longestPalindrome(string s) {        string result = "";        for(int i=0;i<s.length();i++){            for(int j=0;j<2;j++){                string temp = palindrome(s,i,i+j);                if(temp.length()>result.length()){                    result = temp;                }            }        }        return result;    }private:    string palindrome(string s, int left, int right){        if(s[left]!=s[right]) return "";        //递推条件。如果一个子串已经是回文串,且这个子串左边的字符和右边的字符相同        //则此子串加上左右两个字符所得到的子串仍是回文串        while(s[left]==s[right] && left>=0 && right<=s.length()-1){            left--;            right++;        }        return s.substr(left+1,right-left-1);    }};
0 0
原创粉丝点击