名企笔试:蘑菇街2016招聘笔试(回文串)

在这个上面看到的面试题 https://mp.weixin.qq.com/s?__biz=MzI1MTIzMzI2MA==&mid=2650561114&idx=2&sn=0557a968d2ac50e2d9f7cf16b7715e41&chksm=f1feecd9c68965cf4d53e933c6d9d172314282d252326d1cf4682d06c2cd545bd04510607e1b&scene=21#wechat_redirect

C#的实现,网上搜了下答案,有几个Java的实现,看的我一头雾水。自己简单实现了,欢迎批评指正

class Program
{
static void Main(string[] args)
{
//题目:给定一个字符串,问是否能通过添加一个字母将其变为回文串。
// 一行一个由小写字母构成的字符串,字符串长度小于等于10。

/*
思路:
1.根据输入字符串的长度,声明一个长度+1 的数组
2.遍历输入字符串,将每个字符对应放到数组里
3.输入字符串的第一位,放到数组的最后一位
4.遍历数组,第一位和最后一位进行比较,第二位和倒数第二位进行比较,依次类推。
如果有不想等的情况,则不是回文串
如果,都相等,则是回文串
注意:这里我不做输入和10位长度限制了,直接写死。
*/
string str = "abcb";
string[] arr = new string[str.Length + 1];
int i = 0;
foreach (var item in str)
{
arr[i] = item.ToString();
i++;
}
arr[arr.Length - 1] = str[0].ToString();

for (int j = 0; j < arr.Length; j++)
{
if (arr[j] == arr[arr.Length - 1 - j])
{
continue;
} else
{
Console.WriteLine("No");
Console.ReadKey();
return;
}
}
Console.WriteLine("Yes");
Console.ReadKey();
}
}

猜你喜欢

转载自www.cnblogs.com/shawnlixin/p/10868153.html