leetcode_面试题 17.01.

面试题 17.01. 不用加号的加法

思路

利用位运算代替加法,使用递归来解决不进位的结果和进位结果的和

不考虑进位的情况下,异或的位运算(同0非1)可以用来代替加法

进位的值为二者相与在左移一位

结果为不考虑进位的值和进位的值相加,这里利用函数来递归

class Solution {
    public int add(int a, int b) {
        if(b == 0) return a;
        return add(a^b , (a&b) << 1);
    }
}
posted @ 2025-07-25 15:33  Lwf663  阅读(5)  评论(0)    收藏  举报