LeetCode【344. 反转字符串】

题中所说不要给另外的数组分配额外的空间,你必须原地修改输入数组,因为字母都有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

posted on 2019-05-28 09:34  imimtks  阅读(210)  评论(0编辑  收藏  举报