检查给定单词是否为回文的函数

时间:2017-02-23 05:06:37

标签: c#

嗨我有以下代码,并且它给出了我的错误,Palindrome(字符串)是一种在给定方法中无效的方法。

请帮助解决问题

namespace justtocheck
{
  public class Program
  {
    public static bool Palindrome(string word)
    {
       string first = word.Substring(0, word.Length / 2);
       char[] arr = word.ToCharArray();
       Array.Reverse(arr);
       string temp = new string(arr);
       string second = temp.Substring(0, temp.Length / 2);
       return first.Equals(second);

       //throw new NotImplementedException("Waiting to be implemented.");
    }
    public static void Main(string[] args)
    {
        Console.WriteLine(Palindrome.IsPalindrome("Deleveled"));
    }
 }
}

2 个答案:

答案 0 :(得分:2)

您正在声明一个方法并调用一个未声明的类'方法。 正确

Console.WriteLine(Palindrome("Deleveled"));

或更改您的方法声明

public class Palindrome
{
    public static bool IsPalindrome(string word)
    {
       string first = word.Substring(0, word.Length / 2);
       char[] arr = word.ToCharArray();
       Array.Reverse(arr);
       string temp = new string(arr);
       string second = temp.Substring(0, temp.Length / 2);
       return first.Equals(second);
       //throw new NotImplementedException("Waiting to be implemented.");
    }
}

答案 1 :(得分:0)

这很简单:

public static bool Palindrome(string word)
{
    var w = word.ToLowerInvariant();
    return w.Zip(w.Reverse(), (x, y) => x == y).Take(word.Length / 2).All(x => x);
}