[LeetCode]Add Binary
来源:互联网 发布:虚拟7.1软件 编辑:程序博客网 时间:2024/06/05 21:06
解题思路:
1,写一个addOneBinaryChar方法,专门用于做字符的二进制加法,返回结果char以及进位carry。
2,注意,string的insert放在在插入一个char时,语法是这样的 str.insert(0 , 1, ch) // 在第0个位置插入1个ch字符。
3,另外,计算应该从字符串的右边开始,模拟手动做 二进制加法咯
class Solution {public: string addBinary(string a, string b) { string ret; char carry = '0'; int aInd = a.length()-1; int bInd = b.length()-1; while(aInd >= 0 || bInd >= 0){ char tempa='0'; char tempb='0'; if (aInd >= 0){ tempa = a[aInd]; } if (bInd >= 0){ tempb = b[bInd]; } char rc = addOneBinaryChar(tempa, tempb, carry); ret.insert(0, 1, rc); aInd--; bInd--; } if (carry == '1'){ ret.insert(0, 1, carry); } return ret; } char addOneBinaryChar(char a, char b, char& carry){ char ret = '0'; switch(charToInt(a) + charToInt(b) + charToInt(carry)){ case 0: ret = '0'; carry = '0'; break; case 1: ret = '1'; carry = '0'; break; case 2: ret = '0'; carry = '1'; break; case 3: ret = '1'; carry = '1'; break; default:break; } return ret; } int charToInt(char a){ return a-'0'; }};
0 0
- [LeetCode]Add Binary
- LeetCode: Add Binary
- [Leetcode] Add Binary
- LeetCode Add Binary
- Leetcode: Add Binary
- [Leetcode] Add Binary
- LeetCode : Add Binary
- LeetCode Add Binary
- [LeetCode] Add Binary
- leetcode 58: Add Binary
- leetcode Add Binary
- [LeetCode] Add Binary
- 【leetcode】Add Binary
- [LeetCode]Add Binary
- [leetcode]Add Binary
- LeetCode-Add Binary
- [leetcode] Add Binary
- LeetCode - Add Binary
- HDU 1713 相遇周期
- Swift苹果官方在线文档地址
- 用MyEclipse的Java Project开发仿DNF 横版格斗游戏。
- UPnP简介
- 我的地图一
- [LeetCode]Add Binary
- CocosDeshion's android.mk 文件的理解
- 软件开发中的资源管理
- linux终端快捷键
- ASP.NET MVC 大文件 分块上传
- UPnP AV设备
- Struts2工作原理分析
- PCB布线规则
- 稳定排序和不稳定排序