leetcode-刷题记录20200411-DP

DP-最长回文子序列

题目:给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。

算法解析:
1 暴力法:基于字符串每一位往两边找到最长回文字符串
python:

class Solution:
    def longestPalindrome(self, s: str) -> str:
        #暴力法,从i位开始向两边找,找到最长回文子序列
        def lengthPalidrome(s,l,r):
            #从i开始获得回文
            while l>=0 and rlen(res):
                    res=lengthPalidrome(s,i,i+j)
        return res

C++

class Solution {
public:
    string longestPalindrome(string s) {
        string res="";
        int resLength=0;
        int tmp=0;
        if(s.length()==0){
            return res;
        }

        for(int i=0;iresLength){
                    res=sTmp;
                    resLength=tmp;
                }
            }
        }
        return res;
        
    }
    string lengthPalindrome(const string &s, int length, int l, int r, int *pLen){
        while(l>=0 && r

你可能感兴趣的:(leetcode)