小编Sci*_*n11的帖子

Xor如何交换价值?

这是原始代码:

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--]?

java algorithm bitwise-xor

8
推荐指数
1
解决办法
386
查看次数

标签 统计

algorithm ×1

bitwise-xor ×1

java ×1