lintcode-easy-Add Binary
Given two binary strings, return their sum (also a binary string).
Example
a = 11
b = 1
Return 100
这道题也没太多好说的……
public class Solution { /** * @param a a number * @param b a number * @return the result */ public String addBinary(String a, String b) { // Write your code here if(a == null) return b; if(b == null) return a; if(a.length() == 0) return b; if(b.length() == 0) return a; int p1 = a.length() - 1; int p2 = b.length() - 1; StringBuilder result = new StringBuilder(); int carry = 0; while(p1 >= 0 || p2 >= 0){ int bit_a = 0; int bit_b = 0; if(p1 >= 0){ bit_a = (int) (a.charAt(p1) - '0'); p1--; } if(p2 >= 0){ bit_b = (int) (b.charAt(p2) - '0'); p2--; } result.insert(0, (bit_a + bit_b + carry) % 2); carry = (bit_a + bit_b + carry) / 2; } if(carry == 1) result.insert(0, 1); return result.toString(); } }