67. Add Binary

来源:互联网 发布:目前淘宝卖什么最火 编辑:程序博客网 时间:2024/06/05 04:27

题目

Given two binary strings, return their sum (also a binary string).

For example,

a = "11"

b = "1"

Return "100".

我的解法

public class Solution {    public String addBinary(String a, String b) {        StringBuilder sb = new StringBuilder();        int i = 0;        int mark = 0;        while(i < a.length() || i < b.length()){            int x = (a.length() > i) ? a.charAt(a.length() - 1 - i) - '0': 0;            int y = (b.length() > i) ? b.charAt(b.length() - 1 - i) - '0': 0;            sb.append((x + y + mark)%2);            mark = (x + y + mark)/2;            i++;        }        if(mark == 1)            return sb.append(mark).reverse().toString();        return sb.reverse().toString();    }}
算法分析:注意红色标记地方,要用字符-‘0’,才得到对应数字的值。


0 0