こんにちは、私はthisページの運動を行っていた段落のアルゴリズムに失敗した、と私は2つのテストケースがこれらのある失敗:テストケースは回文
小文字つの単語:間違った答えシングル
どれケース単語:間違った答え
アルゴリズムでは、私は大文字と小文字を制御するので、私は理解できません。
using System;
public class Palindrome
{
public static char[] abecedario = new char[]{ 'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','w','x','y','z'};
public static char[] ABECEDARIO = new char[]{ 'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','W','X','Y','Z'};
public static bool IsPalindrome(string str)
{
string strOriginal = string.Empty;
string strInversa = string.Empty;
for(int i = str.Length-1; i >= 0; i--)
{
string concatenarInversa = string.Empty;
string concatenarOriginal = string.Empty;
for(int j = 0; j < abecedario.Length; j++)
{
if(str[i] == abecedario[j] || str[i] == ABECEDARIO[j])
{
concatenarInversa = abecedario[j].ToString();
}
if(str[(str.Length-1)-i] == abecedario[j] || str[(str.Length-1)-i] == ABECEDARIO[j])
{
concatenarOriginal = abecedario[j].ToString();
}
if(concatenarInversa!=string.Empty && concatenarOriginal != string.Empty)
{
break;
}
}
if(concatenarInversa!=string.Empty)
{
strInversa = strInversa + concatenarInversa;
}
if(concatenarOriginal != string.Empty)
{
strOriginal = strOriginal + concatenarOriginal;
}
}
Console.WriteLine("strInversa : " + strInversa);
Console.WriteLine("strOriginal : " + strOriginal);
return strInversa == strOriginal;
}
public static void Main(string[] args)
{
Console.WriteLine(IsPalindrome("sEeS"));
}
}
アルゴリズムがどこに間違っているかをデバッガで確認しましたか? –
問題が私にテストケースを示しているとわからない場合は、 – andrezi