在路上

 找回密码
 立即注册
在路上 站点首页 学习 查看内容

寻找当前字符串最大回文串

2016-7-29 15:47| 发布者: zhangjf| 查看: 652| 评论: 0

摘要: public class MaxHuiWen { public static void main(String args) { // TODO Auto-generated method stub String s = abb; MaxHuiWen(s); } //1.输出回文串 public static void MaxHuiWen(String s){ //存储字 ...
<无详细内容>
  1. public class MaxHuiWen {
  2. public static void main(String[] args) {
  3. // TODO Auto-generated method stub
  4. String s = "abb";
  5. MaxHuiWen(s);
  6. }
  7. //1.输出回文串
  8. public static void MaxHuiWen(String s){
  9. //存储字符串的长度
  10. int length = s.length();
  11. //存储最长的回文串
  12. String MaxString = "";
  13. //遍历当前字符串的所有子串
  14. for(int i = 0 ; i < length ; i++){
  15. for(int j = i ; j < length + 1 ; j++){
  16. String s1 = s.substring(i , j);
  17. //如果当前字符串为回文串并且大于MaxString的长度,就替换当前MaxString
  18. if(HuiWen(s1) && s1.length() > MaxString.length()){
  19. MaxString = s1;
  20. }
  21. //System.out.println(s1);
  22. }
  23. }
  24. //如果MaxString长度大于等于2,说明是回文串
  25. if(MaxString.length() >= 2){
  26. System.out.println(MaxString);
  27. }
  28. else{
  29. System.out.println("没有回文串");
  30. }
  31. }
  32. //2.判断字符串是否为回文串
  33. public static boolean HuiWen(String s){
  34. boolean flag = true;
  35. int length = s.length();
  36. char s1[] = s.toCharArray();
  37. //从前,从后,遍历字符串,进行比较
  38. for(int i = 0 , j = length - 1 ; i <= j ; i++ , j--){
  39. if(s1[i] != s1[j]){
  40. flag = false;
  41. }
  42. }
  43. return flag;
  44. }
  45. }
复制代码

最新评论

小黑屋|在路上 ( 蜀ICP备15035742号-1 

;

GMT+8, 2025-5-6 15:54

Copyright 2015-2025 djqfx

返回顶部