gpt4 book ai didi

java - 检查最长回文的程序不起作用

转载 作者:行者123 更新时间:2023-12-02 03:40:25 24 4
gpt4 key购买 nike

这段代码有什么问题。不起作用..返回整个字符串反转...我正在尝试检查最长的回文子串

我正在使用强力方法来检查每个子字符串是否为回文。为什么这不起作用

public class LongestPalindrome {

static String s = "yogaranjnarsap";
static String test = "";
static String result ="";
static int resultLen = 0;
static String temp = "";

static void checkPalindrome(String str)
{
StringBuilder sb = new StringBuilder(str);
StringBuilder sb1 = new StringBuilder();

sb1 = sb.reverse();
if(sb1.toString().equals(sb.toString()))
{
//System.out.println(sb1.equals(sb));

if(sb.length() > result.length())
{
result = sb.toString();
resultLen = sb.length();
}
}
}



public static void main(String[] args) {

for(int i=0;i<s.length();i++)
{
temp = "" + s.charAt(i);

for(int j=i+1;j<s.length();j++)
{
temp = temp + s.charAt(j);
checkPalindrome(temp);
//temp = temp + s.charAt(i);

}
temp ="";
}

if(result.length() > 1)
{
System.out.println(result);
System.out.println("length" + resultLen);
}

else
System.out.println("no palindrome found");
}

}

最佳答案

sb.reverse() 反转 sb 并返回此对象。

因此sb1 = sb.reverse();将反转sb并将sb1分配给sb

你想做的事:

StringBuilder original = new StringBuilder(str);
StringBuilder reverse = new StringBuilder(str).reverse();

关于java - 检查最长回文的程序不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36899222/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com