LeetCode - Add Binary

来源:互联网 发布:css 开发工具 知乎 编辑:程序博客网 时间:2024/06/16 22:35

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

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

For example,
a = "11"
b = "1"
Return "100".

这道题就跟所有加法题一样,只要注意进位,和一个数加完后,处理另一个数剩余的位就行。

代码如下:

    public String addBinary(String a, String b) {        char[] sa = a.toCharArray();        char[] sb = b.toCharArray();                int i=sa.length-1;         int j = sb.length-1;        char[] longer = i>=j? sa:sb;        int left = i>=j? i:j;        int carry = 0;        while(i>=0 && j>=0){            int val = (sa[i]-'0') + (sb[j]-'0') + carry;            longer[left] = (char)(val%2 + '0');            carry = val/2;            i--;            j--;            left--;        }        while(left>=0){            int val = (longer[left]-'0') + carry;            longer[left] = (char)(val%2 + '0');            carry = val/2;            left--;        }        String rst = new String(longer);        if(carry>0) rst = "1" + rst;        return rst;    }


0 0
原创粉丝点击