回文字符串的判断及返回最大串

2019-10-14  本文已影响0人  cmeizu

回文字符串的判断及返回最大串

问题1:

System.out.println("输入一个字符串:");
        Scanner sc = new Scanner(System.in);

        String str = sc.nextLine();
        String huiwei = "";
        int max = 0;
for (int i = 0; i < str.length(); i++) {
            for (int j = i+1; j < str.length(); j++) {
                String tmp = str.substring(i, j);
                if (huiweiStr(tmp)) {
                    if (max < tmp.length()) {
                      //如果获取的子串长度比原来的长,将子串的长度存下来
                        max = tmp.length();
                      //保存子串
                        huiwei = tmp;
                    }
                }
            }
        }

问题2:

//通过将字符串反转来比较是否是回文串
public static boolean huiweiStr(String string) {
        char[] chars1 = string.toCharArray();
        //用jdk自带的处理方式
        char[] chars = new StringBuffer(string).reverse().toString().toCharArray();
        boolean flag = true;
        for (int i = 0; i < chars.length; i++) {
            if (chars[i] != chars1[i]) {
                flag = false;
            }
        }
        return flag;
    }
上一篇 下一篇

猜你喜欢

热点阅读