我们获得一个字符串S
,确定其删除将使S
回文的字符的索引。例如,如果我们有"bcbc"
,我们可以删除索引b
的{{1}}或索引0
的{{1}}。打印删除字符回文的字符的索引。
我实现了以下代码:
c
但问题是我无法找到错误的地方。任何人都可以在我的代码中找出错误。
答案 0 :(得分:0)
我不确定你的解决方案有什么问题,但它看起来真的太复杂了。
这是一个非常简化的解决方案。
注意:我使用的是checkPalindrome
方法。
public static void main(String[] args)
{
/*
* Enter your code here. Read input from STDIN. Print output to STDOUT.
* Your class should be named Solution.
*/
Scanner sc = new Scanner(System.in);
System.out.println("Enter a String to check:");
String str = sc.nextLine();
// go through the entire string a check if each string with the ith
// index removed
for (int i = 0; i < str.length(); i++)
{
String possiblePalin = str.substring(0,i) + str.substring(i+1);
System.out.println("Checking: " + possiblePalin);
if (checkPalindrome(possiblePalin, 0, possiblePalin.length()))
{
System.out.println("Removing the char at index: " + i + " makes your stirng a Palindrome");
}
}
}
示例运行:
Enter a String to check: bcbc Checking: cbc Removing the char at index: 0 makes your stirng a Palindrome Checking: bbc Checking: bcc Checking: bcb Removing the char at index: 3 makes your stirng a Palindrome