✏Leetcode之PHP版题目解析(371. Sum of Two Integers)
✏描述
这道题让我们求两数之和,但是不能使用+-运算符
✏题目实例
✏题目分析
其实就是用异或算不带进位的和,用与并左移一位来算进位数,然后两者相加。
/**
* @param Integer $a
* @param Integer $b
* @return Integer
*/
function getSum($a, $b) {
return $b==0? $a:$this->getSum($a^$b, ($a&$b)<<1);
}
如果这样看着难受,那用迭代
/**
* @param Integer $a
* @param Integer $b
* @return Integer
*/
function getSum($a, $b) {
while($b){
$res=($a & $b)<<1;
$a=$a ^ $b;
$b =$res;
}
return $a;
}
转载链接:https://leetcode.cn/
leetCode 
![[爱了]](/js/img/d1.gif)
![[尴尬]](/js/img/d16.gif)