Leetcode 214 最短回文串 貪心思想

2021-10-08 21:51:04 字數 677 閱讀 8043

直觀的想法,先找到s從0開始的最長回文子串,然後答案就是右邊的反轉+s

問題變為求從0開始的最長回文子串,如果直接用從右貪心列舉的方法,時間複雜度是o(n^2), 超時。

class solution 

if(i==s.length()-1) return s;

for(int j=s.length()-1;j>i;j--)

return sb.tostring();

}private boolean ispalindrome(string s, int left, int right)

}return "";}};

python能過

class solution:

def shortestpalindrome(self, s: str) -> str:

ss = s[::-1]

n = len(s)

for i in range(n,0,-1):

if s[0:i]==ss[n-i:n]:

return ss[0:n-i]+s

return ""

LeetCode214 最短回文串

給定乙個字串s,你可以通過在字串前面新增字元將其轉換為回文串。找到並返回可以用這種方式轉換的最短回文串。示例 1 輸入 aacecaaa 輸出 aaacecaaa 示例 2 輸入 abcd 輸出 dcbabcd 1 s s1 s2,其中s1是回文串,s2是s s1。2 ans 反轉後的s2 s cl...

LeetCode 214 最短回文串

給定乙個字串s,你可以通過在字串前面新增字元將其轉換為回文串。找到並返回可以用這種方式轉換的最短回文串。示例 1 輸入 aacecaaa 輸出 aaacecaaa 示例 2 輸入 abcd 輸出 dcbabcd 和hdu clairewd s message類似 其實等價於找最長字首回文串 aace...

leetcode 214 最短回文串

給定乙個字串 s,你可以通過在字串前面新增字元將其轉換為回文串。找到並返回可以用這種方式轉換的最短回文串。示例 1 輸入 aacecaaa 輸出 aaacecaaa 示例 2 輸入 abcd 輸出 dcbabcd 因為只能從最前面新增字元,而且要保證新增了字元後組成1個回文串,所以列舉所有可能。對給...