解题思路:
(1)以O(1)的额外空间解决问题的意思是除了原数组以外,不要创建其他数组
(2)通过分析可以发现:索引为0 的元素需要与数组最后一个元素减缓位置;索引为2 的元素需要与倒数第二个元素交换位置。。。。。。,因此可以借助遍历一半的方法将元素倒序输出
class Solution {
public void reverseString(char[] s) {
int len=s.length;
char temp;
for(int i=0;i<len/2;++i){
temp=s[i];
s[i]=s[len-1-i];
s[len-1-i]=temp;
}
}
}
注意:元素只需要遍历一半,便可以完成交换,遍历所有元素时会输出和原来数组一样的结果,相当于前一半完成了交换,后一半又交换回来了。