`

Add Binary

 
阅读更多

Given two binary strings, return their sum (also a binary string).

For example,
a = "11"
b = "1"
Return "100".

 

class Solution {
public:
    string addBinary(string a, string b) {
        if(a.size() == 0) return b;
        if(b.size() == 0) return a;
        string ret;
        int carry = 0;
        int i = a.size() - 1;
        int j = b.size() - 1;
        while(i>=0 && j>=0) {
            int tmp = a[i] - '0' + b[j] - '0' + carry;
            carry = tmp / 2;
            ret = (char)('0' + tmp%2) + ret;  
            --i;
            --j;
        }
        
        while(i>=0) {
            int tmp = a[i] - '0' + carry;
            carry = tmp/2;
            ret = (char)('0' + tmp%2) + ret;
            --i;
        }
        
        while(j>=0) {
            int tmp = b[j] - '0' + carry;
            carry = tmp/2;
            ret = (char)('0' + tmp%2) + ret;
            --j;
        }
        
        if(carry) ret = (char)('0' + carry) + ret;
        
        return ret;
    }
};

 

 

欢迎关注微信公众号——计算机视觉:

 

0
2
分享到:
评论

相关推荐

    67.addBinary.playground.zip

    标题中的“67.addBinary.playground.zip”表明这是一个与LeetCode第67题相关的Swift编程练习项目。LeetCode是一个在线平台,提供各种算法题目供程序员练习和提升编程技能。第67题通常指的是将两个二进制数相加的问题...

    BINARY_ADD.rar_ BINARY_ADD_adder_binary_add_二进制加法

    标题中的"BINARY_ADD.rar"和描述中的"二进制加法的源代码"指出,这个压缩包文件包含的是关于二进制加法算法的源代码。二进制加法是计算机科学中最基本的操作之一,特别是在数字逻辑和计算领域。它是将两个二进制数...

    Java 程序将两个二进制字符串相加.docx

    public static String addBinary(String x, String y) { int i = x.length() - 1, j = y.length() - 1; int carry = 0; StringBuilder result = new StringBuilder(); while (i >= 0 || j >= 0) { int sum = ...

    python给图像加上mask,并提取mask区域实例

    python对图像提取mask部分: 代码: ...# Add binary masks to images for img_item in os.listdir(images_path): print(img_item) img_path = os.path.join(images_path, img_item) img = cv2.

    二进制求和(java)

    ### 题目:**二进制求和** ... public String addBinary(String a, String b) { StringBuilder result = new StringBuilder(); int carry = 0; // 进位 int i = a.length() - 1; int j = b.length

    通过命令行向main函数传递参数的二进制加法器

    `function.cpp`可能包含了实现二进制加法的函数,例如`addBinary(int a, int b)`,它接收两个整数(假设它们是二进制表示的),返回它们的二进制和。`function.h`可能是相应的头文件,声明了这个函数,方便在其他...

    js-leetcode题解之67-add-binary.js

    javascript js_leetcode题解之67-add-binary.js

    Leetcode题目+解析+思路+答案.pdf

    - **Add Binary**:将两个二进制数相加。 - **Basic Calculator II**:实现一个基本计算器,读取一个表达式并返回计算结果。 本书通过实际编程案例,讲解了各种算法思想和技巧,涵盖了从基础的数据结构(如数组、...

    Lintcode-java版本

    - Add Binary(二进制加法):涉及到二进制数的处理和字符串操作。 - Count and Say(计数和读法):一种涉及生成下一个字符串序列的方法。 - Longest Common Prefix(最长公共前缀):处理字符串数组中的公共前缀...

    java-leetcode题解之第67题二进制求和.zip

    LeetCode的第67题,也被称为“Add Binary”,要求我们将两个非负整数表示为二进制字符串,然后将它们相加,返回结果的二进制形式。这个问题的核心在于理解二进制运算的规则,包括二进位的加法(0+0=0, 0+1=1, 1+0=1,...

    LeetCode最全代码

    401 | [Binary Watch](https://leetcode.com/problems/binary-watch/) | [C++](./C++/binary-watch.cpp) [Python](./Python/binary-watch.py) | _O(1)_ | _O(1)_ | Easy | | 411 | [Minimum Unique Word ...

    二进制求和1

    题目提供的代码实现了一个名为`Solution`的类,其中包含一个名为`addBinary`的公共方法。这个方法首先处理两个字符串长度不一致的情况,通过在较短的字符串前面添加零来确保它们具有相同的长度。这样可以避免在后续...

    python-leetcode面试题解之第371题两整数之和.zip

    def addBinary(num1, num2): carry = 0 result = '' # 让较短的二进制数前面补0,以便于同时处理 max_len = max(len(num1), len(num2)) num1 = '0' * (max_len - len(num1)) + num1 num2 = '0' * (max_len -...

    LeetCode练习答案

    - **二进制求和(Add Binary)**: 给定两个二进制字符串,返回它们的和。 - **基本计算器II(Basic Calculator II)**: 给定一个字符串表达式,实现一个基本计算器来计算并返回结果。 以上总结仅为部分知识点的简述,...

    c++-c++编程基础之leetcode题解第67题二进制求和.zip

    std::string addBinary(std::string a, std::string b) { int carry = 0; // 进位标志 int i = a.length() - 1, j = b.length() - 1; while (i >= 0 || j >= 0 || carry) { // 当遍历完所有位或者没有进位时...

    binary-sever:静态服务器

    pod repo add binary_spec git@github.com:caixiang305621856/open_binary_spec.git 2.安装mongodb # 进入 /usr/local cd /usr/local # 下载 sudo curl -O ...

    LeetCode leetcode部分题解答代码实现

    * Add Binary:给定两个二进制字符串,返回其和。这个题目需要使用数学的思想,将二进制字符串转换为整数,并返回其和。 * Basic Calculator II:给定一个字符串,返回其计算结果。这个题目需要使用数学的思想,将...

    _leetcode-python.pdf

    - Add Binary: 给定两个二进制字符串,返回它们的和。 - Text Justification: 给定一个单词数组和一个长度 maxWidth,设计一个方法使得每行中单词之间的空间均匀分配,并且左右两端对齐。 - Sqrt(x): 计算并返回x的...

Global site tag (gtag.js) - Google Analytics