方法一 调用StringBuffer中的reverse方法
public static String reverse(String s) {
return new StringBuffer(s).reverse().toString();
}
方法二:双指针
class Solution {
public void reverseString(char[] s) {
int n = s.length;
for (int left = 0, right = n - 1; left < right; ++left, --right) {
char tmp = s[left];
s[left] = s[right];
s[right] = tmp;
}
}
}
复杂度分析
时间复杂度:O(N)其中 N为字符数组的长度。一共执行了 N/2次的交换。
空间复杂度:O(1)。只使用了常数空间来存放若干变量。