剑指Offer打卡43——AcWing 85. 不用加减乘除做加法
Posted Johnny*
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了剑指Offer打卡43——AcWing 85. 不用加减乘除做加法相关的知识,希望对你有一定的参考价值。
【题目描述】
【思路】
异或是不进位加法
按位与得到该是否要进位
class Solution {
public static String toBinary(int n){
StringBuilder sb = new StringBuilder();
for(int i = 31; i >= 0; i -- ) sb.append( (n >> i & 1));
return sb.toString();
}
public int add(int num1, int num2) {
while( num2 != 0){ //还有进位
int sum = num1 ^ num2; //异或是不进位加法
int carry = (num1 & num2) << 1; //进位
num1 = sum;
num2 = carry;
}
return num1;
}
}
以上是关于剑指Offer打卡43——AcWing 85. 不用加减乘除做加法的主要内容,如果未能解决你的问题,请参考以下文章
剑指Offer打卡day43—— Acwing 86. 构建乘积数组
剑指Offer打卡day43—— ACWing 88. 树中两个结点的最低公共祖先
剑指Offer打卡day42——AcWing 77. 翻转单词顺序