编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 char[] 的形式给出。
不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。
你可以假设数组中的所有字符都是 ASCII 码表中的可打印字符。
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/reverse-string
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
这题非常简单。
其中需要注意的点是不允许分配额外的大空间。
然后比较容易想到的是反转只需要将字符串左右颠倒(即首尾交换位置,然后第二个和倒数第二个交换位置……)
这里需要的额外空间也只有交换时需要用到的temp,满足条件。
代码如下:
public class Solution {
public void ReverseString(char[] s) {
char temp;
int len=s.Length;
for(int i=0;i<len/2;i++)
{
temp=s[i];
s[i]=s[len-i-1];
s[len-i-1]=temp;
}
}
}