Sum of two Integers

2016-10-25  本文已影响0人  partrick

Leetcode的一道题

在二进制条件下,异或可以实现没有进位的求和。而进位可以通过按位与&来实现。

class Solution {
    func getSum(_ a: Int, _ b: Int) -> Int {
        //change let to var for operation
        var (x, y) = (a, b)
        repeat {
            let carry = x & y
            x = x ^ y
            y = carry << 1
        } while y != 0
        return x
    }
}
上一篇 下一篇

猜你喜欢

热点阅读