回文指数

时间:2016-06-15 20:45:57

标签: java algorithm

我们获得一个字符串S,确定其删除将使S回文的字符的索引。例如,如果我们有"bcbc",我们可以删除索引b的{​​{1}}或索引0的{​​{1}}。打印删除字符回文的字符的索引。

我实现了以下代码:

c

但问题是我无法找到错误的地方。任何人都可以在我的代码中找出错误。

1 个答案:

答案 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