lintcode ----二进制求和

来源:互联网 发布:软件开发工程师干什么 编辑:程序博客网 时间:2024/05/17 06:59

想法:先转化为整数,相加后,转为二进制数


 string addBinary(string& a, string& b)     {        // Write your code here        if(a=="0"&&b=="0")            return "0";string res="";int na=0,nb=0;int la=a.length();int lb=b.length();        for(int i=0;i<a.length();i++)        {la--;            if(a[i]=='1'){                na+=pow(double(2),la);}        }for(int i=0;i<b.length();i++)        {lb--;            if(b[i]=='1'){                nb+=pow(double(2),lb);}        }int add=na+nb;while(add){int tem=add%2;res+=to_string(tem);add/=2;}reverse(res.begin(),res.end());return res;            }
PS:我记得之前有个类似的题目,这样写会溢出,欢迎大家亲喷指点!

0 0
原创粉丝点击