反转字符串
一般的方式
首位交换
public void reverseString(char[] s) {
for (int i = 0; i < s.length / 2; i++) {
char temp = s[i];
s[i] = s[s.length - i - 1];
s[s.length - i - 1] = temp;
}
}
leetcode提交发现
通过异或运算
运用异或运算形式,任何数和自己异或结果为0,和0异或结果为自己
public void reverseString2(char[] s) {
for (int i = 0; i < s.length / 2; i++) {
char left = s[i];
char right = s[s.length - i - 1];
s[i] ^= s[i];
s[i] ^= right;
s[s.length - i - 1] ^= s[s.length - i - 1];
s[s.length - i - 1] ^= left;
}
}
leetcode提交发现
别以为你搞java就不用管底层实现了