码迷,mamicode.com
首页 > 编程语言 > 详细

求一个字符串中的最长回文串(Java)

时间:2018-10-14 00:30:41      阅读:250      评论:0      收藏:0      [点我收藏+]

标签:ati   system.in   ann   ++   next   sub   java   round   return   

package huiwenchuan;

import java.util.Scanner;

public class Main {
  //判断一个字符串是否为回文串
  public static boolean isHuiWen(String s)
  {
    int len=s.length();
    for(int i=0;i<len/2;i++)
    {
      if(!(s.charAt(i)==s.charAt(len-i-1)))
      {
        return false;
      }
    }
    return true;
  }
  /**
  * 求一个字符串中的最长回文串
  */
  static String maxPalindromeString(String str)
  {
    String maxStr = null;//保存最长回文串
    int len = 0;//保存回文串长度
    int maxLen=0;//保存最长回文串的长度
    for(int i=0;i<str.length();i++)
    {
      for(int j=i+1;j<=str.length();j++)
      {
        String s=str.substring(i, j);
        if(Main.isHuiWen(s))
        {
          len=s.length();
        }
        if(len>maxLen)
        {
          maxLen=len;
          maxStr=s;
        }
        len=0;
      }
    }
    return maxStr;

  }
  public static void main(String[] args) {
    String str;
    Scanner sca=new Scanner(System.in);
    str=sca.next();
    String maxPalStr=maxPalindromeString(str);
    System.out.println(maxPalStr);
  }
}

求一个字符串中的最长回文串(Java)

标签:ati   system.in   ann   ++   next   sub   java   round   return   

原文地址:https://www.cnblogs.com/shlsm/p/9784413.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!