数据结构和算法分析Leetcode算法

[剑指offer] 不用加减乘除做加法

2018-07-27  本文已影响0人  繁著

本文首发于我的个人博客:尾尾部落

题目描述

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

解题思路

用位运算来实现。

参考代码

public class Solution {
    public int Add(int num1, int num2) {
        if(num2 == 0)
            return num1;
        int sum = 0, carry = 0;
        while(num2 != 0){
            sum = num1 ^ num2;
            carry = (num1 & num2) << 1;
            num1 = sum;
            num2 = carry;
        }
        return num1;
    }
}
上一篇 下一篇

猜你喜欢

热点阅读