Add Binary
来源:互联网 发布:美国极进网络 编辑:程序博客网 时间:2024/05/29 02:47
Given two binary strings, return their sum (also a binary string).
For example,
a = "11"
b = "1"
Return "100".
string addBinary(string a, string b){ string ans; int bLength = b.length(), aLength = a.length(); int newLength = max(aLength, bLength); int temp = 0; for (int i = 0; i <newLength; i++) { if (aLength > 0) temp += a[aLength-1] - '0'; if (bLength > 0) temp += b[bLength-1] - '0'; if(temp==0) { ans = '0' + ans; temp=0; } else if(temp==1) { ans = '1' + ans; temp=0; } else if(temp==2) { ans = '0' + ans; temp=1; } else if(temp==3) { ans = '1' + ans; temp=1; } aLength--; bLength--; } if (temp > 0) ans = '1' + ans; return ans;}
再简单点可以用移位:
string addBinary(string a, string b) { string ans; int bLength = b.length(), aLength = a.length(); int newLength = max(aLength, bLength); int temp = 0; for (int i = 0; i <newLength; i++) { if (aLength > 0) { temp += a[aLength-1] - '0'; } if (bLength > 0) { temp += b[bLength-1] - '0'; } ans = (char) ((temp & 1) + '0') + ans; temp = temp >> 1; aLength--; bLength--; } if (temp > 0) ans = '1' + ans; return ans; }
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
- RVDS4.0开发OK6410(一)RVDS4.0实现第一个流水灯程序
- 小青的第一篇博客
- Keystone身份认证--主要总结Role的相关配置
- 大哥好多个金刚经
- oracle函数
- Add Binary
- 通信 匿名管道通信 消息通信 Linux CentOS
- 一道淘汰85%面试者的百度开发者面试题——解题、参考答案和优化思路
- hdu 1517 A Multiplication Game
- Android之SoundPool
- 一些常用单词
- Eclipse中10个最有用的快捷键组合
- PHP问题汇总(一)
- android XML文件读写