1. 程式人生 > 其它 >演算法——新增字元得到最短迴文串

演算法——新增字元得到最短迴文串

技術標籤:演算法字串leetcodejava

給定一個字串 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 ""; } }