zoukankan      html  css  js  c++  java
  • Add Binary

    题目:

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

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

    分析:可以根据二进制的加法原理解决此问题,要注意string与int之间的转换。

    代码如下:

            string addBinary(string a, string b) {
            int n1=a.length();
            if(n1==0)return b;
            int n2=b.length();
            if(n2==0)return a;
            string result;
            int t=0;
            if(n1<n2)
            {
                string tmp(a);
                a=b;
                b=tmp;
                int temp=n1;
                n1=n2;
                n2=temp;
            }
            for(int i=n2-1;i>=0;i--)
            {
                
                string tmp;
                tmp='0'+(int(a[n1-1]-'0')+int(b[i]-'0')+t)%2;//此句中int(a[n1-1]-'0')是string转int

                                                                                            //int + '0' 是int 转化为string
                result=tmp+result;
                t=(int(a[n1-1]-'0')+int(b[i]-'0')+t)/2;
                n1--;
            }
            for(int i=n1-1;i>=0;i--)
            {
                string tmp;
                tmp='0'+(int(a[i]-'0')+t)%2;
                result=tmp+result;
                t=(int(a[i]-'0')+t)/2;
            }
            if(t==1)
            {
                string tmp;
                tmp='0'+1;
                result=tmp+result;
                return result;
            }
            return result;
        }

  • 相关阅读:
    ubuntu16.04下笔记本自带摄像头编译运行PTAM
    ar的主流算法
    ubuntu下安装meshlab
    打开.py文件的方法
    Python_ip代理
    对书名的抓取
    JS动态增加删除UL节点LI及相关内容示例
    js遍历json
    js移除某一类的div
    工厂模式
  • 原文地址:https://www.cnblogs.com/javawebsoa/p/3087647.html
Copyright © 2011-2022 走看看