從左神算法視頻裏get到一個小技巧:算法
經過異或運算來交換兩數spa
看上去瞬間逼格高了很多code
int a=11; int b=12; int temp=a^b; a=temp^a; b=temp^b
其實原理很簡單,視頻
先科普(小白請看)一下異或運算blog
兩個二進制數異或運算 同位上相同時爲0 不一樣時爲1;get
(同或運算則相反,相同爲1,不一樣爲0)class
因此上面 a=temp^a=a^a^b=0^b;原理
0異或任何數=異或的那個數自己;技巧
因此咱們就完成了兩個數的交換;二進制