palindromic java_LeetCode(java)5. Longest Palindromic Substring
Given a stringS, find the longest palindromic substring inS. You may assume that the maximum length ofSis 1000, and there exists one unique longest palindromic substring.
java
题目描述:找出一个字符串中的最长回文子串。算法
本人思路:ide
相似于网上所写的中心扩展法。从字符串中的每一个位置开始向两边扩展,找到最长的回文。spa
时间复杂度:O(n²),leetcode经过时间:15ms。code
public class Solution {
public static String longestPalindrome(String s) {
char[] cs = s.toCharArray();
int begin=0,end=0;
int size = s.length();
int out = 0;//中心位置
for(int befor=out,after=out;out
{
//判断是否abcba类回文
for(;befor>0&&after
{
if(cs[befor-1] != cs[after+1])
break;
}
if(befor != after && after-befor>end-begin)
{
end=after;
begin=befor;
}
//判断是否abccba类回文
for(befor = out,after = out;befor>=0&&after
{
if(cs[befor] != cs[after+1])
break;
}
if(befor != after && after-(++befor)>end-begin)
{
end=after;
begin=befor;
}
//判断是否aaaaaa类回文
for(befor=out,after=out;after
{
if(cs[befor] != cs[after+1])
break;
}
if(after!=befor && after-befor>end-begin)
{
end=after;
begin=befor;
out = after;//跳太重复的序列
}
}
return s.substring(begin, end+1);
}
}
除了这种解法还有如下几种解法:leetcode
①暴力解决法:遍历字符串中的每一个子串,判断是否回文串,并更新最长回文串。字符串
②动态规划:思想为:若 [ i , j ] 为回文,则 [ i+1, j-1 ]也为回文。string
③Manacher's 算法。it
附上大神制做的PPT(很详细):http://faculty.utpa.edu/liuy2/algorithmSlides/Longest-Palindromic-Substring.pptxio
palindromic java_LeetCode(java)5. Longest Palindromic Substring相关推荐
- leetcode 5 Longest Palindromic Substring Java JavaScript解法
题目详情 Given a string s, find the longest palindromic substring in s. You may assume that the maximum ...
- 【LeetCode】No.5. Longest Palindromic Substring -- Java Version
题目链接: https://leetcode.com/problems/longest-palindromic-substring/ 1. 题目介绍(最长回文子串) Given a string s, ...
- Java Longest Palindromic Substring(最长回文字符串)
假设一个字符串从左向右写和从右向左写是一样的,这种字符串就叫做palindromic string.如aba,或者abba.本题是这种,给定输入一个字符串.要求输出一个子串,使得子串是最长的padro ...
- leetcode 第五题 Longest Palindromic Substring (java)
Longest Palindromic Substring Given a string S, find the longest palindromic substring in S. You may ...
- 转载-----Java Longest Palindromic Substring(最长回文字符串)
转载地址:https://www.cnblogs.com/clnchanpin/p/6880322.html 假设一个字符串从左向右写和从右向左写是一样的,这种字符串就叫做palindromic st ...
- leetcode 5 :Longest Palindromic Substring 找出最长回文子串
题目: Given a string S, find the longest palindromic substring in S. You may assume that the maximum l ...
- LeetCode Longest Palindromic Substring
原题链接在这里:https://leetcode.com/problems/longest-palindromic-substring/ 题目: Given a string s, find the ...
- 最长回文子串(Longest Palindromic Substring)
转载自 最长回文子串(Longest Palindromic Substring)--三种时间复杂度的解法 子串:小于等于原字符串长度由原字符串中任意个连续字符组成的子序列 回文:关于中间字符对称的 ...
- [LeetCode] Longest Palindromic Substring
Given a string S, find the longest palindromic substring in S. You may assume that the maximum lengt ...
最新文章
- 美亚排名超高的Docker入门书,不止简单易懂
- php 实现 html转js
- 【云栖说第三期】发现大家对能模仿马云声音的ET有兴趣,我们找了阿里四位专家来聊聊ET背后的人工智能...
- c语言初学者百题大战答案七,C语言百题大战2405how many minutes
- 打开逻辑STANDBY写入功能
- centos7中置空一个文件的内容
- TVS二极管,双向封装,如何选型?
- class path resource [log4j.properties] cannot be resolved to URL because it does not exist
- activemq的使用(四)
- poe交换机标准与非标准的区别介绍
- ae制作数据可视化_我如何精心制作真正可怕的数据可视化
- 类的 三大特性 封装,继承,多态 overload与override的区别
- iOS开发中常见的性能优化技巧
- 为什么有了scanf还要getchar()
- leetcode之奇偶链表
- 凌晨半夜短信通道异常,乙方如何答复?
- 百度BAE搭建微信公众平台-git的使用
- 程序猿的自救 从零备考NSCA/CSCS 2 阻力运动生物力学
- Unity编辑器小工具——文件查重(MD5)
- 北京甲骨文java_北京海淀甲骨文java企业项目
热门文章
- BZOJ 3224 普通平衡树 treap or vector
- 502 Proxy Error The proxy server received an invalid response from an upstream server
- 使用 Async 和 Await 的异步编程
- HDU2855 Fibonacci Check-up 矩阵的应用
- 【转载】 详细介绍Flex中操作XML
- C# 通过socket实现UDP 通信
- linux内核 mpls,将MPLS编译进linux内核中
- win10安装中国蚁剑
- c++11 call_once 使用方法
- Android开发之跨进程通信-广播跨进程实现方法(附源码)