劍指offer第二版-不使用新的變量完成交換兩個(gè)原有變量的值

本系列導(dǎo)航:劍指offer(第二版)java實(shí)現(xiàn)導(dǎo)航帖

面試題:不使用新的變量完成交換兩個(gè)原有變量的值

題目要求:
不使用新的變量完成交換兩個(gè)原有變量的值。

解題思路:
有加減法與亦或法兩種,其實(shí)思路是一致的。推薦亦或法,不僅僅是代碼上更簡單,而且亦或的運(yùn)算在理論上也要比加減法更快。

package chapter6;

/**
 * Created with IntelliJ IDEA
 * Author: ryder
 * Date  : 2017/8/20
 * Time  : 21:39
 * Description:不使用新的變量,交換兩個(gè)原有變量的值
 **/
public class P312_ExchangeTwoNumbers {
    public static void main(String[] args){
        //基于加減法
        int a = 3;
        int b = 5;
        a = a + b;
        b = a - b;
        a = a - b;
        System.out.println("a="+a+",b="+b);

        //基于異或法
        a = 3;
        b = 5;
        a = a ^ b;
        b = a ^ b;
        a = a ^ b;
        System.out.println("a="+a+",b="+b);
    }
}

運(yùn)行結(jié)果

a=5,b=3
a=5,b=3
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語法,類相關(guān)的語法,內(nèi)部類的語法,繼承相關(guān)的語法,異常的語法,線程的語...
    子非魚_t_閱讀 34,626評論 18 399
  • 交換兩個(gè)變量的值,不使用第三個(gè)變量的四種法方法 通常我們的做法是(尤其是在學(xué)習(xí)階段):定義一個(gè)新的變量,借助它完成...
    wh_閱讀 4,834評論 0 1
  • 本系列導(dǎo)航:劍指offer(第二版)java實(shí)現(xiàn)導(dǎo)航帖 說明 本篇是在56.數(shù)組中只出現(xiàn)一次的兩個(gè)數(shù)字 與 56....
    ryderchan閱讀 1,231評論 0 2
  • 該筆記是本人學(xué)習(xí)實(shí)驗(yàn)樓的心得。 進(jìn)入系統(tǒng)的根目錄 2.進(jìn)入當(dāng)前用戶目錄 已上兩者區(qū)別是1表現(xiàn)出的是雙斜杠;2表現(xiàn)出...
    地鐵姑娘閱讀 249評論 0 2
  • 我是一個(gè)孩子,5、6歲的一個(gè)男孩子,頂著一頭淺棕色的卷發(fā),一個(gè)西方人。 我沒有安全感,渴望安慰和關(guān)注,...
    小希Maggie閱讀 299評論 0 2

友情鏈接更多精彩內(nèi)容