Leetcode 67 Add Binary

来源:互联网 发布:产品效果图建模软件 编辑:程序博客网 时间:2024/06/08 10:01

Given two binary strings, return their sum (also a binary string).

For example,
a = "11"
b = "1"
Return "100".

一个二进制加法的问题,按照原理写出了就行。注意carrybit。

public class Solution {    public String addBinary(String a, String b) {        if(a == null || b == null){            return null;        }        StringBuffer sb = new StringBuffer();        int i = a.length() - 1;        int j = b.length() - 1;        int sum = 0;         int carrybit = 0;        while(i >= 0 || j >= 0){                        if(i >= 0){                sum += a.charAt(i--) - '0';            }            if(j >= 0){                sum += b.charAt(j--) - '0';            }                        sb.append(String.valueOf(sum % 2));            carrybit = sum / 2;            sum = carrybit;        }         if (carrybit != 0) sb.append(carrybit);        return sb.reverse().toString();    }}




原创粉丝点击