67. Add Binary

Solution:digit_sum = prev_carry + a[i] + b[i], calculating backwards

Time Complexity: O(max_length(a, b))
Space Complexity: O(max_length(a, b)) for StringBuilder

Solution Code:

class Solution {
    public String addBinary(String a, String b) {
        StringBuilder result = new StringBuilder();
        int i = a.length() - 1, j = b.length() - 1, carry = 0;
        while(i >= 0 || j >= 0) {
            int sum = carry;
            if(i >= 0) sum += a.charAt(i--) - '0';
            if(j >= 0) sum += b.charAt(j--) - '0';
            result.append(sum % 2);
            carry = sum / 2;
        }
        if(carry != 0) result.append(carry);
        
        return result.reverse().toString();
    }
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 背景 一年多以前我在知乎上答了有关LeetCode的问题, 分享了一些自己做题目的经验。 张土汪:刷leetcod...
    土汪阅读 14,357评论 0 33
  • Given two binary strings, return their sum (also a binary...
    Jeanz阅读 1,454评论 0 0
  • Given two binary strings, return their sum (also a binary...
    兰缘小妖阅读 1,306评论 0 0
  • 雏鸟叽喳喳,稚童叫哇哇。 晨乃一日始,幼是一生芽。 莫负日之端,早起有虫抓。 莫负人之初,固本方成花。
    鼓楼和鱼pandada阅读 2,600评论 0 2
  • 《两小无猜》 “作为一个成年人,有可以开到210公里的引擎,却开在60公里限速的路上。” 《天使爱美丽》 《陌路狂...
    密斯安阅读 4,227评论 0 0

友情链接更多精彩内容