addBinary

给你两个二进制字符串,返回它们的和(用二进制表示)。

输入为 非空 字符串且只包含数字 1 和 0。
public String addBinary(String a, String b) {
      // 字符串超过int限制
      return Integer.toBinaryString(Integer.parseInt(a, 2) + Integer.parseInt(b, 2));
      }
public String addBinary(String a, String b) {
        int lena = a.length(); int lenb = b.length();
        int carry = 0;
        StringBuilder stringBuilder = new StringBuilder();
        while(lena > 0 || lenb > 0 || carry != 0){
            int tmp1 = lena > 0 ? a.charAt(lena-1)-'0': 0;
            int tmp2 = lenb > 0 ? b.charAt(lenb-1)-'0': 0;
            int carrytmp = carry + tmp1 + tmp2;
            System.out.println(carrytmp);
            carry = carrytmp / 2;
            stringBuilder.insert(0, carrytmp % 2);
            lena --;
            lenb --;
        }
        return stringBuilder.toString();
    }
原文地址:https://www.cnblogs.com/athony/p/13032967.html