LeetCode371 - Sum of Two Integers - 利用位运算求两数之和 - 扩展: 不使用新的变量,交换两个变量的值。...

mac2022-06-30  71

1. 利用位运算求两数之和

class Solution { public: int getSum(int a, int b) { int sum = a^b;// sum 是不带进位的的和 int carry = (a&b)<<1; //carry是进位的值 while(carry != 0) { a = sum; b = carry; sum = a^b; carry = (a&b)<<1; } return sum; } };

 

2. 不使用新的变量,交换两个变量的值

//基于加减法 a = a + b; b = a - b; a = a - b; //基于异或运算 a = a ^ b; b = a ^ b; a = a ^ b;

 

转载于:https://www.cnblogs.com/vincent93/p/6686429.html

相关资源:JAVA上百实例源码以及开源项目
最新回复(0)