408.Add Binary-二进制求和(容易题)

来源:互联网 发布:mac电脑剪切快捷键 编辑:程序博客网 时间:2024/05/17 22:35

二进制求和

  1. 题目

    给定两个二进制字符串,返回他们的和(用二进制表示)。

  2. 样例

    a = 11
    b = 1
    返回 100

  3. 题解

注意正确处理二进制进位即可。

public class Solution {    /**     * @param a a number     * @param b a number     * @return the result     */    public String addBinary(String a, String b) {        int i = a.length() - 1;        int j = b.length() - 1;        int carries = 0;        StringBuilder result = new StringBuilder();        while (i >=0 || j >= 0)        {            int sum = (i >= 0 ? (int)(a.charAt(i) - '0'):0) + (j >= 0 ? (int)(b.charAt(j) - '0'):0) + carries;            result.insert(0,sum % 2);            carries = sum / 2;            i--;            j--;        }        if (carries == 1)        {            result.insert(0,1);        }        return result.toString();    }}

Last Update 2016.9.16

0 0
原创粉丝点击