Add Binary

都还好吧,就是细节要想清楚,简单

public class Solution {
    public String addBinary(String a, String b) {
        if(a==null) return b;
        if(b==null) return a;
        int al = a.length();
        int bl = b.length();
        int lm = Math.max(al,bl);
        int carry=0;
        String res = "";
        
        for(int i=0; i<lm; i++){
            int p=0,q=0;
            if(i<al){
                p = a.charAt(al-1-i)-'0';
            }
            if(i<bl){
                q = b.charAt(bl-1-i)-'0';
            }
            int tmp = (p+q+carry);
            res = tmp%2+res;
            carry = tmp/2;
        }
         return carry==0? res:"1"+res;
    }
}

 

posted @ 2015-04-15 13:28  世界到处都是小星星  阅读(116)  评论(0编辑  收藏  举报