Add Binary

来源:互联网 发布:c语言lib文件 编辑:程序博客网 时间:2024/04/30 05:11

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

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

思路:就是模拟bit 加法运算,用stringbuilder,注意insert(0,val)是加到最前面;

public class Solution {    public String addBinary(String a, String b) {        if(a == null && b == null) return null;        if(a != null && b == null) return a;        if(a == null && b != null) return b;        StringBuilder sb = new StringBuilder();        int i = 0; int j = 0;        int carry = 0;        while(i<a.length() || j<b.length() || carry != 0){            int av = 0;            if(i<a.length()){                av = a.charAt(a.length()-1-i)-'0';                i++;            }            int bv = 0;            if(j<b.length()){                bv = b.charAt(b.length()-1-j)-'0';                j++;            }            int sum = av + bv + carry;            sb.insert(0, sum %2);            carry = sum / 2;        }        return sb.toString();    }}


0 0
原创粉丝点击