c# - 从 int 输入确定回文

标签 c# asp.net arrays string

鉴于以下情况:

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

}

确定输入是否为回文的最佳方法是什么?最初,我通过将输入数字放入数组、在 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;
}

最佳答案

将数字转为字符串,如果该字符串与其倒数相等,则为回文:

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

关于c# - 从 int 输入确定回文,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43788627/

相关文章:

ASP.NET 安全角色和权限

asp.net - 来自 ASP.NET MVC 模型数据的 Javascript int 变量?

php - 如何从php数组中删除元素

c - c中二维数组中的随机值

c# - 触发及时事件的最佳方式

C#关于类的GetType的问题

c# - 检测光盘是否在 DVD 驱动器中

c# - 我们可以使用 Azure Key Vault 来加密本地计算机上的 XML 文件吗?

asp.net - 如何关闭 ASP.NET 必填字段验证器 "lost focus"行为

c - Qsorting 从 bin 文件中,不显示任何内容