Leetcode 67. 二进制求和

xiaoxiao2021-02-28  3

class Solution { public: string addBinary(string a, string b) { if (a.size() < b.size()) return addBinary(b, a); reverse(a.begin(), a.end()); reverse(b.begin(), b.end()); int jin = 0, L = b.size(), i = 0; for (; i < L; ++i) { int t = jin + a[i] + b[i] - '0' - '0'; a[i] = t % 2 + '0'; jin = t / 2; } while (i < a.size() && jin == 1) { int t = jin + a[i] - '0'; a[i] = t % 2 + '0'; jin = t / 2; ++i; } if (jin == 1) a.push_back('1'); reverse(a.begin(), a.end()); return a; } };
转载请注明原文地址: https://www.6miu.com/read-1900308.html

最新回复(0)