欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 新闻 > 国际 > Java | Leetcode Java题解之第214题最短回文串

Java | Leetcode Java题解之第214题最短回文串

2026/6/4 17:49:20 来源:https://blog.csdn.net/m0_57195758/article/details/140167964  浏览:    关键词:Java | Leetcode Java题解之第214题最短回文串

题目:

题解:

class Solution {public String shortestPalindrome(String s) {int n = s.length();int[] fail = new int[n];Arrays.fill(fail, -1);for (int i = 1; i < n; ++i) {int j = fail[i - 1];while (j != -1 && s.charAt(j + 1) != s.charAt(i)) {j = fail[j];}if (s.charAt(j + 1) == s.charAt(i)) {fail[i] = j + 1;}}int best = -1;for (int i = n - 1; i >= 0; --i) {while (best != -1 && s.charAt(best + 1) != s.charAt(i)) {best = fail[best];}if (s.charAt(best + 1) == s.charAt(i)) {++best;}}String add = (best == n - 1 ? "" : s.substring(best + 1));StringBuffer ans = new StringBuffer(add).reverse();ans.append(s);return ans.toString();}
}

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词