编写一个函数,将输入的字符串反转。不要使用中间商,你必须原地修改输入数组。交换过程中不使用额外空间
//编写一个函数,将输入的字符串反转。不要使用中间商,你必须原地修改输入数组。交换过程中不使用额外空间
//比如:输入{‘h’,‘e’,‘l’,‘l’,‘o’}
//输出 {‘o’,‘l’,‘l’,‘e’,‘h’}
Console.WriteLine("请输入内容");
string str3 = Console.ReadLine();
char[] chars = str3.ToCharArray();//string中的索引器只读,所以要用char[]接收,方便后续赋值修改
for (int i = 0; i < chars.Length / 2; i++)
{
//使用中间商交换
//char temp = chars[i];
//chars[i] = chars[chars.Length - 1 - i];
//chars[chars.Length - 1 - i] = temp;
//char型数据可以当做数值来进行数学运算
chars[i] = (char)(chars[i] + chars[chars.Length - 1 - i]);
chars[chars.Length - 1 - i] = (char)(chars[i] - chars[chars.Length - 1 - i]);
chars[i] = (char)(chars[i] - chars[chars.Length - 1 - i]);
}
for (int i = 0; i < chars.Length; i++)
{
Console.Write(chars[i]);
}
Console.WriteLine();
str3 = new string(chars);//将char数组转为字符串
Console.WriteLine(str3);
关键:char型数据可以当做数值来进行数学运算

606

被折叠的 条评论
为什么被折叠?



