【剑指Offer】不用加减乘除做加法 解题报告(Java)

【剑指Offer】不用加减乘除做加法 解题报告(Java)

标签(空格分隔): 剑指Offer


题目地址:https://www.nowcoder.com/ta/coding-interviews

题目描述:

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

解题方法

这就是LeetCode的Sum of Two Integers题目,Python版本的比较复杂,所以这里用的Java写的。道理是一样的,通过异或模拟无进位的加法,通过与运算模拟进位。

代码:

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

Date

2018 年 3 月 26 日 – 学车要早起,困= =

posted @ 2018-03-26 20:23  负雪明烛  阅读(25)  评论(0)    收藏  举报