三次异或实现字符交换或反转
连续三次异或操作可实现在不占用额外空间的情况下进行字符串反转
char a = 'a', char b = 'b';
a = a ^ b;
b = a ^ b;
a = a ^ b;
本文介绍了一种在不使用额外内存的情况下,通过连续三次异或操作实现字符串反转的方法。此技巧利用了异或运算的特性,即任何数与自身异或结果为0,任何数与0异或结果不变,从而巧妙地完成了字符交换。
连续三次异或操作可实现在不占用额外空间的情况下进行字符串反转
char a = 'a', char b = 'b';
a = a ^ b;
b = a ^ b;
a = a ^ b;
632
551

被折叠的 条评论
为什么被折叠?