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;
        }

  • 相关阅读:
    FIDDLER的使用方法及技巧总结(连载一)FIDDLER快速入门及使用场景
    Swiper轮播插件的花式用法
    前端Js框架汇总
    前端开发06
    前端开发面试题05
    前端开发面试题04
    原生js和jquery实现图片轮播特效
    如何判断前端开发能力?
    前端面试题03
    团队冲刺09
  • 原文地址:https://www.cnblogs.com/javawebsoa/p/3087647.html
Copyright © 2011-2022 走看看