题目描述:
不用+,-求两个数的和
原文描述:
Calculate the sum of two integers a and b, but you are not allowed to use the operator + and -.
Example:Given a = 1 and b = 2, return 3.
方法一:用位运算模拟加法 思路1:- 异或又被称其为“模2加法“
- 设置变量recipe模拟进位数字,模拟加法的实现过程
- a^b,求得结果
- a&b,求得进位
- 相加
public class Solution {
public int getSum(int a, int b) {
while (b != 0) {
int c = a & b; //carry
a ^= b; //add
b = c << 1;
}
return a;
}
}
更多的leetcode的经典算法,查看我的leetcode专栏
點擊查看更多內容
5人點贊
評論
評論
共同學習,寫下你的評論
評論加載中...
作者其他優質文章
正在加載中
感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦