LeetCode 题解之Add Binary
1、题目描述

2、题目分析
使用string 的逆向指针,做二进制加法,注意进位问题就可以。
3、代码
string addBinary(string a, string b) {
string::reverse_iterator it_a = a.rbegin() ;
string::reverse_iterator it_b = b.rbegin() ;
string s;
string s0 = "";
string s1 = "";
int up = ;
while( it_a != a.rend() && it_b != b.rend() ){
if( *it_a - '' + *it_b - '' + up == ){
s = s1 + s;
up = ;
}else if( *it_a - '' + *it_b - '' + up == ){
s = s0 + s;
up = ;
}else if( *it_a - '' + *it_b - '' + up == ){
s = s0 + s;
up=;
}else if( *it_a - '' + *it_b - '' + up == ){
s = s1 + s;
up = ;
}
++it_a ;
++it_b ;
}
while( it_a != a.rend() ){
if( *it_a - '' + up == ){
s = s0 + s;
up = ;
}else if( *it_a - '' + up == ){
s = s1 + s;
up = ;
}else{
s = s0 + s;
up = ;
}
++it_a ;
}
while( it_b != b.rend() ){
if( *it_b - '' + up == ){
s = s0 + s;
up = ;
}else if(*it_b - '' + up == ){
s = s1 + s;
up =;
}else{
s = s0 + s;
up = ;
}
++it_b;
}
if( up == ){
s = s1 + s;
}
return s;
}
LeetCode 题解之Add Binary的更多相关文章
- # Leetcode 67:Add Binary(二进制求和)
Leetcode 67:Add Binary(二进制求和) (python.java) Given two binary strings, return their sum (also a binar ...
- leetcode解题:Add binary问题
顺便把之前做过的一个简单难度的题也贴上来吧 67. Add Binary Given two binary strings, return their sum (also a binary strin ...
- leetcode笔记:Add Binary
一.题目描写叙述 Given two binary strings, return their sum (also a binary string). For example, a = "1 ...
- 【LeetCode】67. Add Binary 解题报告(Python)
作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 BigInteger类 模拟加法 日期 题目地址:h ...
- 【一天一道LeetCode】#67. Add Binary
一天一道LeetCode 本系列文章已全部上传至我的github,地址:ZeeCoder's Github 欢迎大家关注我的新浪微博,我的新浪微博 欢迎转载,转载请注明出处 (一)题目 Given t ...
- leetcode题解2. Add Two Numbers
题目: You are given two non-empty linked lists representing two non-negative integers. The digits are ...
- 【LeetCode】67. Add Binary
题目: Given two binary strings, return their sum (also a binary string). For example,a = "11" ...
- LeetCode算法题-Add Binary(Java实现)
这是悦乐书的第157次更新,第159篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第16题(顺位题号是67).给定两个二进制字符串,返回它们的总和(也是二进制字符串).输 ...
- 《LeetBook》LeetCode题解(2):Add Two Numbers [M]
我现在在做一个叫<leetbook>的免费开源书项目,力求提供最易懂的中文思路,目前把解题思路都同步更新到gitbook上了,需要的同学可以去看看 书的地址:https://hk029.g ...
随机推荐
- Ubuntu链接库查找
apt-get install apt-file apt-get update apt-file search
- 将之前的DotNetOpenAuth项目发布到IIS
首先需要安装IIS: 控制面板\程序--打开或关闭Windows功能: 默认的不会全选的,需要手动展开选择,能选就全选上吧,特别是asp.net选项,不选的话发布的网站也运行不了. 安装完后需要注册a ...
- sql返回行id
1.sql语句中 insert into tableName() output inserted.id values() 2 .存储过程中 ALTER PROCEDURE dbo.getBuyMedi ...
- C/C++练习题(二)
1.下面这些指针分别代表什么? float(**p1)[10]; double*(*p2)[10]; double(*p3[10])(); int*((*p4)[10]); long(**p5)(in ...
- 在Windows家里杀死一个偷端口的家伙
今天,写项目了,写了好多代码,然后运行成功,但是返回的信息啥的还有代码整体的逻辑有点问题,于是就review了代码,改了些东西,然后再次启动服务,但是,问题来了:Address already in ...
- mongodb-mongotemplate进行地理坐标操作
因为项目中使用的springboot + mongotemplate, 所以还是需要mongotemplate的操作方式 首先建立一个bean: package com.iwhere.easy.tra ...
- Spring Boot 使用Redis
转载自:http://www.cnblogs.com/ityouknow/p/5748830.html Redis支持更丰富的数据结构,例如hashes, lists, sets等,同时支持数据持久化 ...
- java ee 中 Jsp 页面的定时的跳转(数字倒数)
java ee 中 Jsp 页面的定时的跳转,实现数字倒计时跳转固定页面 1,Servlet类 RefreshServlet类实现 package org.servlet; import java. ...
- [IMX6]Android6.0移植和分析
0. 知识点 中断(设备树) [IMX6]设备树分析--dts 1. 编译 Android6.0内核移植(1):分析编译日志 Android6.0内核移植(2):kernel编译内核 单独烧录kern ...
- C#byte类型
byte类型的范围是0~255转换为二进制是00000000~11111111 ---------------------------------------------------------- C ...