java - 这是进行递归检查字符串是否回文的最有效方法吗?

标签 java

public boolean isPalindrome3(String input, int index, int length)
{
    if(index > (length-1-index))
        return true;

    else if(input.charAt(index)!=input.charAt(length-1-index))
        return false;

    else
        return isPalindrome3(input, index + 1, length);



}

这里最初我传递输入字符串,0,input.length()

最佳答案

如果您不必使用递归,这里有一个更有效的回文检查:

public boolean isPalindrome3(String input)
{
    for (int start = 0, end = input.length() - 1; start < end; ) {
        if (input.charAt(start++) != input.charAt(end--)) {
            return false;
        }
    }
    return true;
}

关于java - 这是进行递归检查字符串是否回文的最有效方法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11783717/

相关文章:

java - 在遍历 Java 对象集合时——如何改变当前对象?

java - 被诅咒的 java.lang.NullPointerException

java - .csv 文件中的对齐问题

java - Spring项目中同时使用log4j2和log4j

java - setAlpha 动画后不恢复 alpha 值

java - 如何使用 Envers 审核 Hibernate 读取?

java - 我希望 Spring Boot Java @Entity 模型类中的 String 成员变量之一在发送到客户端时显示为实际的 JSON 对象

java - Android 谷歌地图在手机中显示但未在平板电脑中显示

java - 通过终端启动 PlantUML JAR 失败

java - hibernate 列表中未获取 @id 字段的空值