• 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) 
        {
            string c;
            reverse(a);
            reverse(b);
            
            int size=a.length();
            if(b.length()>size) size=b.length();
            
            int add=0;
            for(int i=0;i<size;i++)
            {
                int add1=0;
                int add2=0;
                if(i<a.length()) add1=a[i]-'0';
                if(i<b.length()) add2=b[i]-'0';
                c=c+char((add1+add2+add)%2+'0');
                add=(add1+add2+add)/2;
            }
            if(add==1) c=c+'1';
            reverse(c);
            return c;
        }
        void reverse(string& s)
        {
            int l=0;
            int r=s.length()-1;
            while(l<r)
            {
                char tmp=s[l];
                s[l]=s[r];
                s[r]=tmp;
                l++;r--;
            }
        }
    }; 
  • 相关阅读:
    Docker 笔记
    Win10 Docker 安装使用
    golang struct转map
    Golang 中错误与异常需要重新认识
    Golang 中三种读取文件发放性能对比
    GoLang中如何使用多参数属性传参
    GoLang中flag标签使用
    Windows本地搭建Edusoho环境
    edusoho上传视频弹出abort之解决方案
    XAMPP启动mysql遇到的问题
  • 原文地址:https://www.cnblogs.com/erictanghu/p/3759463.html
Copyright © 2020-2023  润新知