演算法——新增字元得到最短迴文串
阿新 • • 發佈:2021-01-13
給定一個字串 s,你可以通過在字串前面新增字元將其轉換為迴文串。找到並返回可以用這種方式轉換的最短迴文串。
leetcode
解題思路:
- 首先找到最長的迴文串;
- 然後新增之前無法組成迴文串的部分。
class Solution {
public String shortestPalindrome(String s) {
String reverse = new StringBuffer(s).reverse().toString();
for(int i = 0; i < reverse.length (); i++){
// 當前是否為迴文串
if(s.startsWith(reverse.substring(i))){
// 新增之前不是迴文的部分
return reverse.substring(0, i) + s;
}
}
return "";
}
}