牛客 - 另类加法(java)

题目

给定两个int A和B。编写一个函数返回A+B的值,但不得使用+或其他算数运算符。

测试样例:1 , 2
返回:3

解题思路

在这里插入图片描述

解题代码

import java.util.*;
public class UnusualAdd {
    
    
    public int addAB(int A, int B) {
    
    
        // write code here
        if(B == 0){
    
    
            return A;
        }
        int sum = 0;//相加的值
        int carray = 0;//进位的值
        //这里让B保存进位的值,如果进位的值为0,跳出循环
        while(B != 0){
    
     
            sum = A ^ B;
            carray = (A & B) << 1;
            //想加的值给A
            A = sum;
            //进位的值给B
            B = carray;
        }
        return A;
    }
}

题链接

另类加法链接

猜你喜欢

转载自blog.csdn.net/chenbaifan/article/details/124648523