leetcode 67. Add Binary

来源:互联网 发布:oracle查看数据库编码 编辑:程序博客网 时间:2024/09/21 08:49

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

For example,
a = “11”
b = “1”
Return “100”.

public String addBinary(String a, String b) {        int inta = Integer.parseInt(a, 2);        int intb = Integer.parseInt(b, 2);        return Integer.toBinaryString(inta+intb);    }

范围不够
还是得重写。。。

public String addBinary(String a, String b) {        StringBuffer result = new StringBuffer();        int i = a.length()-1;        int j = b.length()-1;        int carry = 0;        for(;i >= 0 && j >= 0;i--,j--){            result.append((a.charAt(i)-'0' + b.charAt(j)-'0' + carry) % 2);            carry = (a.charAt(i)-'0' + b.charAt(j)-'0' + carry) / 2;        }        if(i >= 0){            for(;i >= 0;i--){                result.append((a.charAt(i)-'0' + carry) % 2);                carry = (a.charAt(i)-'0' + carry) / 2;            }        }        else{            for(;j >= 0;j--){                result.append((b.charAt(j)-'0' + carry) % 2);                carry = (b.charAt(j)-'0' + carry) / 2;            }        }        if(carry != 0) result.append(carry);        return result.reverse().toString();    }
0 0
原创粉丝点击