Существует проблема в методе reverseMe
, функция Реверс дает вам набор char
, если применить его к string
, тогда вам нужно преобразовать IEnumerable<char>
в string
new string()
или string.Concat()
, как в следующем коде:
static bool reverseMe(string Line)
{
//deleting whitespaces, tabs
Line = Regex.Replace(Line, @"\s+", "");
return Line == new string(Line.Reverse().ToArray());
//or
//return Line == string.Concat(Line.Reverse());
//or like Dmitry comment
//return Line.SequenceEqual(Line.Reverse());
}
Вызов reverseMe
, и результат вывода такой как : слово не является палиндромом
while (meStack.TryPop(out string Line))
{
string isOrNotPalindrome = reverseMe(Line) ? string.Empty : "not";
Console.WriteLine($"{Line} is {isOrNotPalindrome} palindrome");
}
Демо
bool isPalindrome1 = reverseMe("madam");
bool isPalindrome2 = reverseMe("nurses run");
bool isPalindrome3 = reverseMe("AaBbbBaAp");
Результат
true
true
false
Надеюсь, это поможет вам решить проблему