美文网首页
Java回文字符串(获取字符串中最长的回文字符串)

Java回文字符串(获取字符串中最长的回文字符串)

作者: 快乐生活和学习 | 来源:发表于2021-06-16 16:01 被阅读0次

场景

面试官: 你这边对回文字符串有没有了解? 能找出任意一个字符串中长度最长的回文字符串吗?

ME: ......

面完后去了解了一下回文字符串, 在此简单记录一下.

什么是回文字符串?

“回文串”是一个正读和反读都一样的字符串,比如“abcba”或者“noon”等等就是回文串。

代码实现

对于面试官的问题, 私下写了一个实现法案, 测试了一下,能满足这个需求~

     /**
     * 找出字符串中最大的回文字符串
     * @param str  传入的字符串
     * @return
     */
    private String getMaxHuiWenStr(String str) {
        int length = str.length();
        String maxString = "";
        for (int i = 0; i < length; i++) {
            for (int j = i + 1; j <= length; j++) {
                String tempStr = str.substring(i, j);
                if (isHuiWenStr(tempStr) && tempStr.length() > maxString.length()) {
                    maxString = tempStr;
                }
            }
        }
        return maxString;
    }

    private boolean isHuiWenStr(String str) {
        if (str.length() == 1) {
            return false;
        }
        boolean flag = true;
        int length = str.length();
        char[] tempChar = str.toCharArray();
        for (int i = 0, j = length - 1; i <= j; i++, j--) {
            if (tempChar[i] != tempChar[j]) {
                flag = false;
            }
        }
        return flag;
    }

相关文章

  • 最长回文子串

    最长回文子串——Manacher 算法 1. 问题定义 最长回文字符串问题:给定一个字符串,求它的最长回文子串长度...

  • 字符串算法

    最长公共前缀 最长回文串 最长回文子序列 最长公共子串 反转单词顺序列 反转字符串 字符串转数字 IP-int互转

  • LeetCode 5.最长的回文字符串

    LeetCode 5.最长的回文字符串 原文地址给定一个字符串s,找出其中最长的回文格式的子字符串。你可以假设长度...

  • 寻找字符串中最长回文——Manacher算法及其Java实现(P

    题目:给一个字符串,找出最长的回文的长度(或求这个回文)。分析:寻找字符串中的回文,有特定的算法来解决,也是本文的...

  • 07-28 freeCodeCamp 算法题练习

    1.检查回文字符串 如果给定的字符串是回文,返回true,反之,返回false。 2.找出最长单词 在句子中找出最...

  • Longest Palindromic Substring

    medium, Array/String Question: 给定字符串s, 返回最长回文子字符串 For exa...

  • Manacher's algorithm

    Manacher算法主要解决的问题是求给定字符串中最长的回文字符串。 以前咱们求解回文字符串的步骤是找中心点, ...

  • 算法精选题总结之字符串类

    1.字符串旋转2.字符串包含3.字符串的全排列4.字符串转换成整数5.回文判断6.最长回文子串 1.字符串旋转 给...

  • 寻找回文字符串的几种算法

    回文字符串就是正反是一样的字符串,比如aabaa或者aabbaa。给出一个字符串,如何求出这个字符串中最长的回文字...

  • Manacher 算法学习笔记

    前言 给定一个字符串,求出其最长回文子串。例如:s="abcd",最长回文长度为 1;s="ababa",最长回文...

网友评论

      本文标题:Java回文字符串(获取字符串中最长的回文字符串)

      本文链接:https://www.haomeiwen.com/subject/tpqfyltx.html