首页 > 代码库 > [LeetCode]67 Add Binary

[LeetCode]67 Add Binary

https://oj.leetcode.com/problems/add-binary/

http://blog.csdn.net/linhuanmars/article/details/20192227

public class Solution {
    public String addBinary(String a, String b) {
        
        StringBuilder sb = new StringBuilder();

        char[] charsA = a.toCharArray();
        char[] charsB = b.toCharArray();

        int indexA = charsA.length - 1;
        int indexB = charsB.length - 1;
        boolean carry = false;
        while (indexA >= 0 || indexB >= 0)
        {
            int v = indexA >= 0 ? charsA[indexA] - ‘0‘ : 0;
            v += indexB >= 0 ? charsB[indexB] - ‘0‘ : 0;
            if (carry)
                v ++;
            
            carry = v > 1;
            sb.append(v % 2);

            indexA --;
            indexB --;
        }
        
        if (carry)
            sb.append("1");

        return sb.reverse().toString();
    }
}


[LeetCode]67 Add Binary