LeetCode 214 最短回文串

2021-09-13 12:08:30 字數 858 閱讀 8848

給定乙個字串s,你可以通過在字串前面新增字元將其轉換為回文串。找到並返回可以用這種方式轉換的最短回文串。

示例 1:

輸入:"aacecaaa"輸出:"aaacecaaa"
示例 2:

輸入:"abcd"輸出:"dcbabcd"
和hdu clairewd』s message類似

其實等價於找最長字首回文串 

(aacecaa)a是前面加a

(a)bcd是前面加dcb

這個長度列舉一下就好了

正著算一次hash,反著算一次,列舉前面新增字元的個數i,hash判斷1到s.size()-i是否為回文

複雜度o(n)

class solution 

public:

string shortestpalindrome(string s)

string per = "";

for (int i = 0; i <= s.size(); i++)

if (gethash(1,s.size()-i,1) == gethash(1+i,s.size(),0))

s = "error!";

return s;

}};

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 因為只能從最前面新增字元,而且要保證新增了字元後組成1個回文串,所以列舉所有可能。對給...

LeetCode 214 最短回文串

給定乙個字串s,你可以通過在字串前面新增字元將其轉換為回文串。找到並返回可以用這種方式轉換的最短回文串。class solution def shortestpalindrome self,s str str 回文串從首到尾和從尾部到首部字串同,字串表示的數字同樣也相等。子串問題的乙個經典的解決方法...