LeetCode | Add Binary
2013-09-14 19:01
274 查看
题目:
Given two binary strings, return their sum (also a binary string).For example,
a =
"11"
b =
"1"
Return
"100".
思路:
本质上是反序遍历两个字符串,然后依次相加,相加过程与/article/1382653.html类似。代码:
class Solution { public: string addBinary(string a, string b) { stack<bool> s; int cur_a = a.size() - 1; int cur_b = b.size() - 1; int carry = 0; while(cur_a > -1 || cur_b > -1){ int val_a = 0; if(cur_a > -1) { val_a = char2int(a[cur_a--]); } int val_b = 0; if(cur_b > -1) { val_b = char2int(b[cur_b--]); } int tmp = val_a + val_b + carry; carry = tmp / 2; s.push((tmp % 2) == 1); } if(carry == 1){ s.push(true); } string result; while(!s.empty()){ result.push_back(bool2char(s.top())); s.pop(); } return result; } int char2int(char c){ return c - '0'; } char bool2char(bool b){ if(b){ return '1'; } return '0'; } };
相关文章推荐
- [leetcode]Add Binary
- [LeetCode] Add Binary
- LeetCode --- Add Binary
- LeetCode67——Add Binary
- LeetCode编程练习 - Add Binary学习心得
- leetCode(52):Add Binary 分类: leetCode 2015-07-28 23:03 41人阅读 评论(0) 收藏
- Leetcode 67 Add Binary
- LeetCode Online Judge 题目C# 练习 - Add Binary
- LeetCode | Add Binary
- LeetCode67 Add Binary
- leetcode004:add binary
- LeetCode_67---Add Binary
- LeetCode Add Binary(二进制加法)
- [leetcode]67. Add Binary[facebook]
- LeetCode 067 Add Binary
- leetcode - Add Binary
- [Leetcode]-Add Binary
- 【LeetCode 67】Add Binary (Python)
- [LeetCode] Add Two Numbers、Divide Two Integers、Multiply Strings、Add Binary、Plus One
- Add Binary - Leetcode