Add Binary
来源:互联网 发布:域名代理平台 编辑:程序博客网 时间:2024/06/06 12:49
Given two binary strings, return their sum (also a binary string).
For example,
a = "11"
b = "1"
Return "100"
.
题目解析
1、需要考虑其中有一个字符串是空的情况
2、是a的长度是最长的,然后将结果保存在a中,这可以通过对比长度,然后进行替换即可
3、要考虑是否进位溢出的情况,如果溢出要在第一个位置插入进位。
4、字符串中插入字符的函数是
a.insert(0,1,inc+'0');第一个参数为位置,第二个参数为个数,第三个是要插入的字符
#include <iostream>using namespace std;string addBinary(string a, string b) {if(a.size() == 0)return b;if(b.size() == 0)return a;int lenA = a.size();int lenB = b.size();if(lenA < lenB){string temp = a;a = b;b = temp;lenA = a.size();lenB = b.size();}int inc = 0;for(int i=1;i<=lenB;i++){int value = (a[lenA-i]-'0')+(b[lenB-i]-'0') + inc;a[lenA-i] = value%2 + '0';inc = value/2;}for(int j = (lenA-lenB-1);j>=0;j-- ){int value = (a[j]-'0')+inc;a[j] = value%2+'0';inc = value/2;}if(inc > 0)a.insert(0,1,inc+'0');return a;}int main(void){string a("111");string b("1111");string res = addBinary(a,b);cout << res.c_str() << endl;system("pause");return 0;}
0 0
- Add Binary
- Add Binary
- Add Binary
- Add Binary
- Add Binary
- Add Binary
- Add Binary
- Add Binary
- Add Binary
- Add Binary
- Add Binary
- Add Binary
- Add Binary
- Add Binary
- Add Binary
- Add Binary
- Add Binary
- Add Binary
- Service或者Broadcast中打开一个activity
- 引用fwpsk.h 异常解决方式
- 在V小被v
- 目录与文件之权限意义
- 做网站需要考虑的事情
- Add Binary
- NSTask
- C++的多态
- maya api和mel 关系
- 阿朱看在线教育
- 润乾报表开发时候注意的小问题
- linux 正则使用
- java 获取当前年份、月份、日期,当月第一天和最后一天
- 对于各种报错的解决方案