不使用第三个数交换两个数的值(java实现)

难易程度:★★★

重要性:★★★★★

网易游戏的面试中出现过:要求不使用第三个数交换两个数的值,例如:a=2;b=3,不使用其他变量交换a和b的值:

private void swap1() {
        int a=10,b=12;
        
        a=b-a; //a=2;b=12
        b=b-a; //a=2;b=10
        a=b+a; //a=12;b=10
    }
    private void swap2() {
        int a=10,b=12;

        a=a+b;//a=22,b=12
        b=a-b;//a=22,b=10
        a=a-b;//a=12,b=10
    }

更多原创技术分享,请关注公众号“菜鸟名企梦

猜你喜欢

转载自blog.csdn.net/liewen_/article/details/82913821