资讯专栏INFORMATION COLUMN

leetcode67 binary add 二进制加法计算

DevTTL / 1622人阅读

摘要:题目要求将两个二进制字符串相加结果以二进制字符串的形式返回要格外注意可能会在最高位存在进位想要了解更多开发技术,面试教程以及互联网公司内推,欢迎关注我的微信公众号将会不定期的发放福利哦

题目要求:将两个二进制字符串相加结果以二进制字符串的形式返回
要格外注意可能会在最高位存在进位

/**
 * @author rale
 * 
 * Given two binary strings, return their sum (also a binary string).
 * For example,
 * a = "11"
 * b = "1"
 * Return "100".
 */
public class AddBinary {
    
    public String addBinary(String a, String b) {
        StringBuilder result = new StringBuilder();
        int pointerA = a.length()-1;
        int pointerB = b.length()-1;
        int carry = 0;
        while(pointerA>=0 || pointerB>=0){
            int sum = carry;
            if(pointerA>=0){
                sum += (a.charAt(pointerA)-"0");
                pointerA--;
            }
            if(pointerB>=0){
                sum += (b.charAt(pointerB)-"0");
                pointerB--;
            }
            result.append(sum%2);
            carry = sum/2;
        }
        if(carry!=0){
            result.append("1");
        }
        return result.reverse().toString();
    }
}


想要了解更多开发技术,面试教程以及互联网公司内推,欢迎关注我的微信公众号!将会不定期的发放福利哦~

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/66854.html

相关文章

  • Leetcode 67Add Binary(进制求和)

    摘要:给定两个二进制字符串,返回他们的和用二进制表示。返回的数值是以开头,表明返回的数值是二进制函数用于将一个字符串或数字转换为整型。指定为非十进制时,需以字符串形式传入从第三个元素开始截取,忽略 (python、java)Given two binary strings, return their sum (also a binary string).The input strings a...

    chenjiang3 评论0 收藏0
  • Leetcode 67Add Binary(进制求和)

    摘要:给定两个二进制字符串,返回他们的和用二进制表示。返回的数值是以开头,表明返回的数值是二进制函数用于将一个字符串或数字转换为整型。指定为非十进制时,需以字符串形式传入从第三个元素开始截取,忽略 (python、java)Given two binary strings, return their sum (also a binary string).The input strings a...

    sf190404 评论0 收藏0
  • [Leetcode] Add Binary 进制相加

    摘要:模拟加法复杂度时间空间思路模拟加法的运算法则,从最低位加到最高位。记得使用来减少字符串操作的开销。代码后续如果不是二进制相加,而是十六进制相加呢只要把算法中的除和余换成,并添加相应的十六进制字母就行了。 Add Binary Given two binary strings, return their sum (also a binary string). For example, ...

    lk20150415 评论0 收藏0
  • leetcode_67 Add Binary

    摘要:,,这道题就是求两个表示为字符串形式的二进制数字的和。最初我的想法是直接对两个字符串相对应的位进行直接运算,再用一个变量来表示进位,这里我选择将较短的字符串前面用补位,以获得两个相同长度的字符串进行逐位运算。 Given two binary strings, return their sum (also a binary string).For example,a = 11,b = ...

    codeGoogle 评论0 收藏0
  • [Leetcode] Expression Add Operators 添加运算符

    摘要:问题在于如何将问题拆分成多次搜索。然而,乘法如何处理呢这里我们需要用一个变量记录乘法当前累乘的值,直到累乘完了,遇到下一个加号或减号再将其算入计算结果中。这样的计算结果就是。注意第一次搜索不添加运算符,只添加数字,就不会出现这种表达式了。 Expression Add Operators Given a string that contains only digits 0-9 and...

    sumory 评论0 收藏0

发表评论

0条评论

DevTTL

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<