您的位置:首页 > 其它

[LeetCode 67] Add Binary

2015-03-21 22:16 399 查看
题目链接:add-binary

/**
 * 
		Given two binary strings, return their sum (also a binary string).
		
		For example,
		a = "11"
		b = "1"
		Return "100".
 *
 */
public class AddBinary {

	
//	294 / 294 test cases passed.
//	Status: Accepted
//	Runtime: 243 ms
//	Submitted: 1 minute ago

    static String addBinary(String a, String b) {

    	String sum = "";
        int carray = 0;
        
        if(a.length() > b.length()) {
        	String temp = a;
        	a = b;
        	b = temp;
        }
        //使a和b的长度相等
        int gap = b.length() - a.length();
        while((gap--) != 0) a = "0" + a;
        
    	for (int i = b.length() - 1; i >= 0; i--) {
			int n = a.charAt(i) - '0' + b.charAt(i) - '0' + carray;
			sum = (n % 2) + sum;
			carray = n / 2;
		}
    	
    	if(carray != 0) sum = carray % 2 + sum;
    	return sum;
    }
	public static void main(String[] args) {
		System.out.println(addBinary("1", "1"));

	}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: