cubegao

Swift.不用加减乘除做加法

2015-08-05

题目描述:写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
import Foundation

class For47Solution {
func addSum(_ a: Int,_ b: Int) -> Int {
var n1 = a
var n2 = b

while n2 != 0 {
let sum = n1 ^ n2
let carry = (n1 & n2) << 1
n1 = sum
n2 = carry
}

return n1
}
}

算法思想:位运算模拟加法。

github地址:https://github.com/cubegao/LeetCode

Tags: 算法

扫描二维码,分享此文章