兩個數字交換的三種方法
今天偶然看到了有一篇文章講解了交換兩個數字的方法,感覺很新穎,拿來說一下。
這種問題通常都是我們在學習java基礎的時候可能就會做一些小練習,相信大多數人都能夠做出來,但是解決問題的辦法多種多樣,如何提高效率,最快才是我們追求的目標 。
第一種 :人盡皆知,就是引入一箇中間量。
int c=a;
a=b;
b=c;
第二種:有個問題就是A+B可能會超過int的範圍,這是這個方法的問題所在。
a=a+b;
b=a-b;
a=a-b;
第三種:這種方法效率最快,也是最厲害的方法,推薦使用。
a=a^b;
b=a^b;
a=a^b;