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相关推荐

  1. leetcode 5 Longest Palindromic Substring Java JavaScript解法

    题目详情 Given a string s, find the longest palindromic substring in s. You may assume that the maximum ...

  2. 【LeetCode】No.5. Longest Palindromic Substring -- Java Version

    题目链接: https://leetcode.com/problems/longest-palindromic-substring/ 1. 题目介绍(最长回文子串) Given a string s, ...

  3. Java Longest Palindromic Substring(最长回文字符串)

    假设一个字符串从左向右写和从右向左写是一样的,这种字符串就叫做palindromic string.如aba,或者abba.本题是这种,给定输入一个字符串.要求输出一个子串,使得子串是最长的padro ...

  4. leetcode 第五题 Longest Palindromic Substring (java)

    Longest Palindromic Substring Given a string S, find the longest palindromic substring in S. You may ...

  5. 转载-----Java Longest Palindromic Substring(最长回文字符串)

    转载地址:https://www.cnblogs.com/clnchanpin/p/6880322.html 假设一个字符串从左向右写和从右向左写是一样的,这种字符串就叫做palindromic st ...

  6. leetcode 5 :Longest Palindromic Substring 找出最长回文子串

    题目: Given a string S, find the longest palindromic substring in S. You may assume that the maximum l ...

  7. LeetCode Longest Palindromic Substring

    原题链接在这里:https://leetcode.com/problems/longest-palindromic-substring/ 题目: Given a string s, find the ...

  8. 最长回文子串(Longest Palindromic Substring)

    转载自  最长回文子串(Longest Palindromic Substring)--三种时间复杂度的解法 子串:小于等于原字符串长度由原字符串中任意个连续字符组成的子序列 回文:关于中间字符对称的 ...

  9. [LeetCode] Longest Palindromic Substring

    Given a string S, find the longest palindromic substring in S. You may assume that the maximum lengt ...

最新文章

  1. 美亚排名超高的Docker入门书,不止简单易懂
  2. php 实现 html转js
  3. 【云栖说第三期】发现大家对能模仿马云声音的ET有兴趣,我们找了阿里四位专家来聊聊ET背后的人工智能...
  4. c语言初学者百题大战答案七,C语言百题大战2405how many minutes
  5. 打开逻辑STANDBY写入功能
  6. centos7中置空一个文件的内容
  7. TVS二极管,双向封装,如何选型?
  8. class path resource [log4j.properties] cannot be resolved to URL because it does not exist
  9. activemq的使用(四)
  10. poe交换机标准与非标准的区别介绍
  11. ae制作数据可视化_我如何精心制作真正可怕的数据可视化
  12. 类的 三大特性 封装,继承,多态 overload与override的区别
  13. iOS开发中常见的性能优化技巧
  14. 为什么有了scanf还要getchar()
  15. leetcode之奇偶链表
  16. 凌晨半夜短信通道异常,乙方如何答复?
  17. 百度BAE搭建微信公众平台-git的使用
  18. 程序猿的自救 从零备考NSCA/CSCS 2 阻力运动生物力学
  19. Unity编辑器小工具——文件查重(MD5)
  20. 北京甲骨文java_北京海淀甲骨文java企业项目

热门文章

  1. BZOJ 3224 普通平衡树 treap or vector
  2. 502 Proxy Error The proxy server received an invalid response from an upstream server
  3. 使用 Async 和 Await 的异步编程
  4. HDU2855 Fibonacci Check-up 矩阵的应用
  5. 【转载】 详细介绍Flex中操作XML
  6. C# 通过socket实现UDP 通信
  7. linux内核 mpls,将MPLS编译进linux内核中
  8. win10安装中国蚁剑
  9. c++11 call_once 使用方法
  10. Android开发之跨进程通信-广播跨进程实现方法(附源码)