题中所说不要给另外的数组分配额外的空间,你必须原地修改输入数组,因为字母都有ASCII码,就可以想到借助一个变量,用来记录
前后字母之间差值,然后,再用加加减减,就可以算出来了。
class Solution { public void reverseString(char[] s) { int c = s.length; int t; int i; for(i = 0;i <= c/2-1;i++) { t = s[i] - s[c-i-1]; s[i] = (char) (s[i] - t); s[c-i-1] = (char) (s[c-i-1] + t); } } }
唯一没想到,可以不用return