LeetCode: Add Binary
2013-03-15 14:01
274 查看
C++:
java: 填补短string前面零字符串的操作很烦
class Solution { public: string addBinary(string a, string b) { // Start typing your C/C++ solution below // DO NOT write int main() function if (a.size() > b.size()) b = string(a.size()-b.size(), '0') + b; if (a.size() < b.size()) a = string(b.size()-a.size(), '0') + a; for (int i = 0; i < a.size(); i++) a[i] += int(b[i]-'0'); int carry = 0; for (int i = a.size()-1; i >= 0; i--) { a[i] += carry; carry = (a[i]-'0') / 2; if (a[i] > '1') a[i] = '0' + (a[i]-'0') % 2; } if (carry) a = '1'+a; return a; } };
java: 填补短string前面零字符串的操作很烦
public class Solution { public String addBinary(String a, String b) { int aLen = a.length(); int bLen = b.length(); for (int i = 0; i < Math.abs(aLen - bLen); i++) { if (aLen < bLen) { a = "0" + a; } else { b = "0" + b; } } char[] cs1 = a.toCharArray(); char[] cs2 = b.toCharArray(); char[] cs3 = new char[a.length()]; int c = 0; for (int i = a.length()-1; i >= 0; i--) { int tmp = c + (cs1[i] - '0') + (cs2[i] - '0'); c = tmp / 2; cs3[i] = (char)('0' + tmp % 2); } String ans = new String(cs3); if (c > 0) { ans = "1" + ans; } return ans; } }
相关文章推荐
- leetcode: Add Binary
- LeetCode 之 Add Binary
- [LeetCode] Add Binary
- [leetcode] Add Binary
- [leetcode]Add Binary
- Add Binary - LeetCode
- Leetcode: Add Binary
- LeetCode(65)Add Binary
- 【LEETCODE】67-Add Binary
- leetcode Add Binary 2.16 难度系数2
- leetcode_67题——Add Binary(字符串string,反向迭代器reverse_iterator,栈stack)
- LeetCode 67 Add Binary
- Leetcode-Add Binary
- LeetCode 67 Add Binary
- Leetcode Add Binary
- 小白笔记---------------------------------leetcode(67. Add Binary )
- LeetCode(67)题解: Add Binary
- [LeetCode] Add Binary
- leetcode:67. Add Binary
- 【Leetcode】Add Binary