代码改变世界

leetcode - Add Binary

2013-03-03 19:48  张汉生  阅读(156)  评论(0编辑  收藏  举报

题目描述:点击此处

 1 #include <iostream>
 2 #include <string>
 3 using namespace std;
 4 class Solution {
 5 public:
 6   string addBinary(string a, string b) {
 7     // Start typing your C/C++ solution below
 8     // DO NOT write int main() function
 9     int tlen, alen, blen;
10     string c;
11     alen = a.length();
12     blen = b.length();
13     if (alen<blen){
14       c = a;
15       a = b;
16       b = c;
17       tlen = alen;
18       alen = blen;
19       blen = tlen;
20     }
21     int i = alen - 1;
22     int j = blen - 1;
23     for (;i>=0; i--,j--){
24       if (j>=0)
25         a[i] += b[j]-'0';
26       if (a[i]>'1'){
27         a[i] -= 2;
28         if (i>0)
29           a[i-1]++;
30         else a = "1"+a;
31       }
32     }
33     return a;
34   }
35 };