两个数交换
思路:
1.空间换时间-用中间变量
2.时间换空间-用计算方法来代替使用中间变量(1,用加减法2.用异或)
空间换时间
public void test8(int a,int b){
int t=a;
a=b;
b=t;
}
时间换空间:加减法
public void test9(int a,int b){
a=a+b;
b=a-b;
a=a-b;
}
时间换空间:异或
思路:把数换成二进制思考
计算机底层是通过二进制进行运算
public void test10(int a,int b){
a=a^b;
b=a^b;
a=a^b;
}
网友评论