博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
leetcode 67. Add Binary
阅读量:6903 次
发布时间:2019-06-27

本文共 1339 字,大约阅读时间需要 4 分钟。

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

For example,

a = "11"
b = "1"
Return "100".

 

to see which companies asked this question

 
刚开始的想法以为要转换成int,然后计算,最后觉得太麻烦了。
就直接进行字符类型的加和了,每次都加上进位,但是进位什么时候为1什么时候为0需要设置。char tmp= a[i]+b[j]+r
 
要注意几点,一个就是两个字符长度不等,要对剩下的字符进行处理,假如还有进位的话,还需要进行加和。
再一个就是假如所有的字符都处理完了,如果这个时候还有进位,就需要再加一位。
 
class Solution {public:    string addBinary(string a, string b) {        string ret="";        int tmp1;        char tmp;        char r='0';        int i=a.length();        int j=b.length();        int c=min(i,j);        while(c>0){            i--;j--;            tmp1=a[i]+b[j]+r-'0'-'0'-'0';            if(tmp1<2) r='0';            else r='1';            if(tmp1%2==0) tmp='0';            else tmp='1';            ret=tmp+ret;            c--;        }        while(i>0){            i--;            tmp1=a[i]+r-'0'-'0';            if(tmp1<2) r='0';            else r='1';            if(tmp1%2==0) tmp='0';            else tmp='1';            ret=tmp+ret;        }        while(j>0){            j--;               tmp1=b[j]+r-'0'-'0';            if(tmp1<2) r='0';            else r='1';            if(tmp1%2==0) tmp='0';            else tmp='1';            ret=tmp+ret;                    }        if(r=='1') ret=r+ret;        return ret;            }};

 

转载于:https://www.cnblogs.com/LUO77/p/5067223.html

你可能感兴趣的文章
日志收集框架 Flume 组件之Source使用
查看>>
事件驱动模型
查看>>
ASP.NET MVC 音乐商店 - 3. 视图与模型
查看>>
mcollective安装文档
查看>>
GRE隧道模式与IPSec传输模式构建×××
查看>>
linux命令6--touch命令
查看>>
我的友情链接
查看>>
且谈布局适配和日志框架
查看>>
在论坛中出现的比较难的sql问题:15(行转列2)
查看>>
springboot中的5种通知小例子
查看>>
mysql数据通过jdbc操作作为Spark数据源案例
查看>>
Sersync实现触发式文件同步
查看>>
shell练习题
查看>>
从硬件竞争到软实力PK——电视媒体竞争观察
查看>>
大型网站压力测试及优化方案
查看>>
matlab中 mcc、mbuild和mex命令详解
查看>>
CentOS6系统部署mysql+php+wordpress博客系统
查看>>
对Java并发编程的几点思考
查看>>
linux-软链接及硬链接介绍
查看>>
云计算的特性有这4点
查看>>