Add Binary

来源:互联网 发布:编程语言实现模式 pdf 编辑:程序博客网 时间:2024/06/14 07:32

题目描述

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

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

思路

主要问题在于两个字符串谁长谁短,短的那个之后就要被看做0.然后就是计算,可以转化为int计算,更简便的是直接用char-'0',(char)int+'0'来在char与int之间自由转换。

public String addBinary(String a, String b) {        if(a.length()==0&&b.length()==0) return "";        if(a.length()==0) return b;        if(b.length()==0) return a;        int len = Math.max(a.length(),b.length());        char[] res = new char[len];        int i = a.length()-1;        int j = b.length()-1;        int ch = 0;        int index = len - 1;        while(i>=0||j>=0){            int f = (i >= 0?a.charAt(i)-'0':0);            int s = (j >= 0?b.charAt(j)-'0':0);            res[index] = (char)((f+s+ch)%2+'0');            ch = (f+s+ch)>1?1:0;            i--;            j--;            index--;        }        return ch == 0?new String(res):1+new String(res);    }


原创粉丝点击