Add Binary
来源:互联网 发布:金融投资网站 php源码 编辑:程序博客网 时间:2024/06/16 04:16
给出2个二进制字符串,计算它们的和。例如"111"+"1"="1000"
思路:这道题比较简单,只需要将比较短的字符串高位扩充为0,然后模拟十进制相加即可。
class Solution {public: string addBinary(string a, string b) { string sum; int i; string s1=""; string s2=""; int len1 = a.length(), len2 = b.length(); int len = (len1 >= len2 ? len1 : len2); if (len1 < len2) { string tmp = a; a = b; b = tmp; len1 ^= len2; len2 ^= len1; len1 ^= len2; } s1 = a; sum.resize(len); for(i=0; i<len-len2; i++) { s2 += "0"; } for(i=0; i<len2; i++) { s2 += b.substr(i,1); } int flag = 0; for(i=len-1; i>=0; i--) { if ((s2[i] - '0' + s1[i] - '0' + flag) % 2 == 0) { sum[i] = '0'; } else { sum[i] = '1'; } flag = (s2[i] - '0' + s1[i] - '0' + flag) / 2; } if (flag == 1) { a = "1"; a += sum; return a; } return sum; }};
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
- Android中设置dialog为透明
- ADB server didn't ACK 解决方法
- 《登幽州台歌》 陈子昂
- Eclipse基础入门
- 《登鹳雀楼》 王之涣
- Add Binary
- 题目1390:矩形覆盖
- PHP中使用CURL实现Get和Post请求的方法
- STL之String
- 阿里14笔试题-求一个二叉树最大值和最小值的差值绝对值
- note--8.30(Cell重用)
- 让Gmail自动转发邮件到多个邮箱
- 《凉州词》 王之涣
- 黑马程序员_IO流