鉴于以下情况:
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/