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

  • 相关阅读:
    mysql常用函数
    SpringAOP拦截Controller,Service实现日志管理(自定义注解的方式)
    Spring整合freemarker发送邮件
    使用JavaMail发送邮件和接受邮件
    Java Web开发 之小张老师总结GET和POST区别
    Java Web开发 之JavaBean整理
    Java Web开发 之小张老师总结EL、JSP、Servlet变量
    Java Web开发 之小张老师总结中文乱码解决方案
    PostgreSQL 使用总结
    Chrome模拟平板调试
  • 原文地址:https://www.cnblogs.com/javawebsoa/p/3087647.html
Copyright © 2011-2022 走看看