[LeetCode]-algorithms-Longest Palindromic Substring
Posted 练子
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[LeetCode]-algorithms-Longest Palindromic Substring相关的知识,希望对你有一定的参考价值。
Given a string S, find the longest palindromic substring in S. You may assume that the maximum length of S is 1000,
and there exists one unique longest palindromic substring.
要求:给定一个字符串,求最长的回文字符串
"a"
=>a
"runcodes"
=>r
"runcodestatus"
=>tat
"runcodestats"
=>stats
public String longestPalindrome(String s) { s = s.trim(); if(null==s || "".equals(s)) return null; String res = s.substring(0,1); String temp; for(int i=0; i<s.length()-1; i++){ temp = search(s, i, i); if(temp.length()>res.length()) res = temp; temp = search(s, i, i+1); if(temp.length()>res.length()) res = temp; } return res; } //这个方法向 i 的两端发散 public String search(String s,int begin,int end){ while(begin>=0 && end<s.length() && (s.charAt(begin)==s.charAt(end))){ begin--; end++; } return s.substring((begin+1),end); }
分析:以每个字符为中心,遍历前后的字符串
以上是关于[LeetCode]-algorithms-Longest Palindromic Substring的主要内容,如果未能解决你的问题,请参考以下文章