首页 > 代码库 > leetcode - Add Binary
leetcode - Add Binary
Given two binary strings, return their sum (also a binary string).
For example,
a = "11"
b = "1"
Return "100"
.
字符串相加,不难
个人思路:
1,尾部对齐,然后逐位相加,flag记为进位
代码:
1 #include <string> 2 3 using namespace std; 4 5 class Solution { 6 public: 7 string addBinary(string a, string b) { 8 if (a.empty()) 9 {10 return b;11 }12 if (b.empty())13 {14 return a;15 }16 17 int aLen = a.length();18 int bLen = b.length();19 int i = aLen - 1, j = bLen - 1;20 int flag = 0; //进位21 int temp, ai, bj;22 string result;23 24 for (; i >= 0 || j >= 0; --i, --j)25 {26 ai = i >= 0 ? (a[i] - ‘0‘) : 0;27 bj = j >= 0 ? (b[j] - ‘0‘) : 0;28 29 temp = ai + bj + flag;30 flag = temp > 1 ? 1 : 0;31 temp = temp - flag * 2;32 33 result.insert(result.begin(), temp + ‘0‘);34 }35 36 if (flag)37 {38 result.insert(result.begin(), ‘1‘);39 }40 41 return result;42 }43 };
leetcode - Add Binary
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。