`

LeetCode 214 - Shortest Palindrome

 
阅读更多

Given a string S, you are allowed to convert it to a palindrome by adding characters in front of it. Find and return the shortest palindrome you can find by performing this transformation.

For example:

Given "aacecaaa", return "aaacecaaa".

Given "abcd", return "dcbabcd".

 

Solution 1:

public String shortestPalindrome(String s) {
    StringBuilder sb = new StringBuilder(s).reverse();
    for(int i=0; i<s.length(); i++) {
        if(s.startsWith(sb.substring(i))) {
            return sb.substring(0, i)+s;
        }
    }
    return s;
}

但是以上代码再跑很长的字符串时会超时,所以应该用KMP来解决。

 

分享到:
评论

相关推荐

    leetcode1-240题中文题解,md格式,java

    3. leetcode-214-Shortest-Palindrome.md:第214题,寻找最短回文串,可能涉及到字符串操作和动态规划。 4. leetcode-145-Binary-Tree-Postorder-Traversal.md:第145题,二叉树的后序遍历,是关于树结构和递归的...

    leetcode浇花-LCSolutions:我的力扣解决方案

    leetcode 浇花力扣解决方案 简单的 #0001 - Two Sum #0007 - Reverse Integer #0009 - Palindrome Number #0035 - Search Insert Position #0058 - Length of Last Word #0066 - Plus One #0083 - Remove Duplicates...

    leetcode分类-leetcode:leetcode刷题(中等难度分类)

    字符串处理题目也是LeetCode的重要部分,例如"Reverse Words in a String"(翻转字符串中的单词)和"Valid Palindrome"(验证回文串)。这些题目通常涉及到字符串的遍历、分割、比较以及特殊字符的处理。 四、位...

    LeetCode最全代码

    # [LeetCode](https://leetcode.com/problemset/algorithms/) ![Language](https://img.shields.io/badge/language-Python%20%2F%20C++%2011-orange.svg) [![License]...

    997leetcodec-myleetcode:我的leetcode解决方案

    214-shortest-palindrome.c。 使用二分搜索更新 287-find-the-duplicate-number.c 和弗洛伊德的龟兔赛跑(循环检测)算法。 (完毕) 使用哈希表更新 496-next-greater-element-ic。 (完毕) 使用优化算法更新 798-...

    戳气球leetcode-leetcode:leetcode

    leetcode category other hot keywords:Palindrome(mic), Subsequence Array 螺旋矩阵Spiral Matrix 顺时针打印矩阵 Next Permutation Product of Array Except Self 189.rotate-array 283.move-zero Range Sum ...

    leetcode添加元素使和等于-njuee_LeetCode_Solutions:本仓库主要记录平时遇到的一些编程问题、算法、思路

    leetcode添加元素使和等于 本项目为Njueers所共享 仓库内容主要为平时刷题的submit、遇到的一些经典题解、coding时所作的笔记等 Basic Knowledge文件夹下为一些基础但相对重要的C++知识点/笔记 Cpp文件夹下主要为...

    LeetCode:LeetCode上一些算法的解答

    3. **栈和队列**:栈(Last In First Out, LIFO)和队列(First In First Out, FIFO)是两种基础数据结构,常见题目如"有效的括号"(Valid Parentheses)用栈来检查括号匹配,"最短回文串"(Shortest Palindrome)则...

Global site tag (gtag.js) - Google Analytics