Add Binary

来源:互联网 发布:智多星软件价格 编辑:程序博客网 时间:2024/05/16 16:07

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

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

注意

1.sum的数组长度不可以定义,否则没有进位的数最前面会有一个空格

2.Char和string的转换

3.进位表示法

public class Solution {    public String addBinary(String a, String b) {     char[] achar=a.toCharArray(); char[] bchar=b.toCharArray(); char[] sum=new char[Math.max(achar.length, bchar.length)+1]; int i=a.length()-1; int j=b.length()-1; int k=0; int c=0;  while(true){ if(i<0&&j<0&&c==0) break; int aint=0;  int bint=0; if(i>=0) aint=achar[i]-'0'; if(j>=0) bint=bchar[j]-'0';  if(aint+bint+c<2)//注意进位这里 { sum[k]=(char)('0'+aint+bint+c); c=0;  } if(aint+bint+c>=2)//注意哦 { sum[k]=(char)('0'+aint+bint+c-2); c=1;  } i--; j--; k++;  }      return  new StringBuffer(new String(sum, 0, k)).reverse().toString();      }}



0 0
原创粉丝点击