【发布时间】:2016-06-09 05:21:10
【问题描述】:
我目前想知道如果给定字符串(单词),我如何确定它是否是回文。回文是向前或向后阅读时相同的单词或短语。我想我可以通过遍历单词的一半并将每个字母与另一半进行比较来解决这个问题。例如:(word[0] == word[word.Length-1-0]) 会将单词的第一个字母与最后一个字母进行比较,(word[1] == word[word.Length-1-1]) 将第二个字母与倒数第二个字母进行比较。
示例输入可能是:racecar
示例输出:真
我是否以正确的解决方案正确地处理了这个问题?
这是我到目前为止写下来的一些内容。
public bool Test6(string word)
{
for (int i = 0; i < word.Length; i++)
{
if (word[0] == word[word.Length - 1 - 0])
{
}
【问题讨论】:
-
到达那里 - 这是正确的方法。一个观察:循环计数器只需要字符串长度的一半(想想为什么会这样)。
-
那个链接的重复问题......标记的答案......哦,我的。我的建议:继续你自己的方法,不要使用链接问题中的答案!这不是这个问题的真正答案。
-
我不能写答案,所以我必须把它放在评论中(你必须重新格式化它才能阅读):
public static bool IsPalindrome(string s){ for (int i = 0, j = s.Length-1; i < j; ++i, --j) if (s[i] != s[j]) return false; return true; }- Or try the code here
标签: c# palindrome