Leetcode 67 Add Binary 大数加法+字符串处理
题意:两个二进制数相加,大数加法的变形
大数加法流程:
1.倒置两个大数,这一步能使所有大数对齐
2.逐位相加,同时进位
3.倒置两个大数的和作为输出
class Solution {
public:
string addBinary(string a, string b) {
if(a.size() < b.size()){
string t = a;
a = b;
b = t;
} //该步使的能大数加小数,使其能加
reverse(a.begin(),a.end());
reverse(b.begin(),b.end());//倒置两数
for(string::size_type i = ; i < a.size(); ++i){
a[i] += ((i < b.size())? b[i] : '') - '';//逐位相加
}
for(string::size_type i = ; i < a.size() - ; ++i){
if(a[i] >='' ) {
a[i] -= ;
a[i+] ++;
}
}
if(a[a.size()-] >='' ) {
a[a.size()-] -= ;
a += "";
} //进位
reverse(a.begin(),a.end()); //倒置输出
return a;
}
};
Leetcode 67 Add Binary 大数加法+字符串处理的更多相关文章
- leetCode 67.Add Binary (二进制加法) 解题思路和方法
Given two binary strings, return their sum (also a binary string). For example, a = "11" b ...
- [leetcode]67. Add Binary 二进制加法
Given two binary strings, return their sum (also a binary string). The input strings are both non-em ...
- leetcode 67. Add Binary (高精度加法)
Given two binary strings, return their sum (also a binary string). For example,a = "11"b = ...
- (String) leetcode 67. Add Binary
Given two binary strings, return their sum (also a binary string). The input strings are both non-em ...
- LeetCode 67. Add Binary
Given two binary strings, return their sum (also a binary string). For example,a = "11"b = ...
- LeetCode 67 Add Binary(二进制相加)(*)
翻译 给定两个二进制字符串,返回它们的和(也是二进制字符串). 比如, a = "11" b = "1" 返回 "100". 原文 Give ...
- LeetCode 67. Add Binary (二进制相加)
Given two binary strings, return their sum (also a binary string). For example,a = "11"b = ...
- [LeetCode] 67. Add Binary 二进制数相加
Given two binary strings, return their sum (also a binary string). The input strings are both non-em ...
- Java [Leetcode 67]Add Binary
题目描述: Given two binary strings, return their sum (also a binary string). For example,a = "11&qu ...
随机推荐
- 千人基因组计划数据库下载某段区域SNP
进入http://browser.1000genomes.org/index.html网站 假定要寻找“6:133098746-133108745”这段距离的SNP数据,“6”表示6号染色体,后面的数 ...
- ADB理解
在做手机测试时候,经常用到的命令就是adb.如adb shell,adb devices,adb logcat等等 那么什么是adb,怎么用呢? 一.adb adb的全称为Android Debug ...
- 解决 HttpClient 模拟 http 的get 请求后 ,出现 403 错误
解决方法: URI uri = builder.build(); // 创建http GET请求 HttpGet httpGet = new HttpGet(uri); httpGet.setHead ...
- mysql root 密码丢失问题
root密码丢失,我们需要将mysql以不检查权限的方式重新启动. 在mysql的配置文件(/etc/my.cnf)中,[mysqld]下添加一句skip-grant-tables,然后重新启动服务, ...
- div box container随主体内容自动扩展适应的实现
/**顶部部分*/ .con-tl{ background:url(../images/left.png) no-repeat 0 0 rgba(0, 0, 0, 0); padding-left: ...
- iOS中POST异步请求
POST异步请求(代理) 1.遵循<NSURLConnectionDataDelegate> @interface ViewController ()<NSURLConnection ...
- 2016 小马哥 IOS
2016 小马哥 IOS 最新视频完整版 链接:http://pan.baidu.com/s/1c1EQlBM 密码:mxkt
- 抓包工具Charles,anyproxy,mitmproxy等
Charles:图形化界面,看着比较方便友好,也可以抓取https,不过电脑和手机都要下载证书,主要我的电脑上不能添加一添加就卡死 所以,抓取https的话,就用mitmproxy比较简单 1.安装C ...
- opencv学习_15 (利用cmake查看opencv的源码)
当我们有时想查看opencv自带的函数的源代码,比如函数cvCreateImage, 此时我们选中cvCreateImage, 点击鼠标右键->转到定义,我们会很惊讶的发现为什么只看到了cvCr ...
- 1795. Table tennis
#include<iostream>#include<cmath> using namespace std;int main(){ int n; cin>>n; w ...