从uint输入确定回文

Iri*_*ain 3 c# asp.net arrays string

鉴于以下内容:

protected bool IsPalindrome(uint x) // Samples: 1221, 456653
{

}
Run Code Online (Sandbox Code Playgroud)

确定输入是否为回文的最佳方法是什么?最初,我通过将输入数字放入一个数组,在for循环中将其反转并将其分配给临时数组进行比较来尝试数组.然而索引语法变得非常快,所以我决定简单地将uint视为字符串.

以下是面试白板情况下的有效解决方案,还是我仍然过于复杂?

protected bool IsPalindrome(uint x) 
{
    string givenNum = Convert.ToString(x);
    char[] input = givenNum.ToCharArray();
    Array.Reverse(input);

    string testString = String.Empty;
    foreach (char a in input)
        testString += a;

    if (givenNum == testString)
        return true;
    else
        return false;
}
Run Code Online (Sandbox Code Playgroud)

Tra*_*Guy 5

将数字转换为字符串,如果该字符串等于其反向,则它是一个回文:

protected bool IsPalindrome(uint x) { 
    string test = x.ToString();
    string tset = new string(test.ToCharArray().Reverse().ToArray());
    return test == tset;
}
Run Code Online (Sandbox Code Playgroud)