这是原始代码:
public static String reverseString(String s){
if(s == null) return "";
char[] rev = s.toCharArray();
int i = 0, j = s.length() - 1;
while(i < j) {
rev[i] ^= rev[j];
rev[j] ^= rev[i];
rev[i++] ^= rev[j--];
}
return String.valueOf(rev);
}
Run Code Online (Sandbox Code Playgroud)
我的问题是Xor如何在这里交换字符值,为什么需要rev [i ++] ^ = rev [j--]?