LeetCode 214 最短回文串

2022-01-29 19:36:24 字數 1159 閱讀 5371

214. 最短回文串

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

示例 1:

輸入: "aacecaaa"

輸出: "aaacecaaa"

示例 2:

輸入: "abcd"

輸出: "dcbabcd"

找出字串s中所有以s[0]為起點的回文字串中最長的那乙個回文字串,那剩餘的元素逆序拼接至開頭即可。

參考題解

將原字串翻轉,並加在原串後。由於回文串翻轉後不變,因此字首的回文串就等於字尾的回文串(公共前字尾),即求next陣列的值。

}// aba情況回文子串

private boolean ispalindrome1(char cs, int i)

}return true;

}// abba情況回文子串

private boolean ispalindrome2(char cs, int i)

for (int j = 0; j <= i; j++)

}return true;}}

class solution else if(k == 0)else k = next[k];

}return next[next.length-1];

}public string shortestpalindrome(string 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 和hdu clairewd s message類似 其實等價於找最長字首回文串 aace...

leetcode 214 最短回文串

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