刚开始刷leetcode,第一道题是给两个二进制的字符串,求这两个二进制相加以后的和,输出当然也是二进制的格式了。以下是题目:
/**
* Given two binary strings, return their sum (also a binary string).
*
* For example, a = "11" b = "1" Return "100".
*/
解决这个问题,首先要自己模拟出二进制相加时的运算过程,首先计算的肯定是0号位,就是按照二进制中8,4,2,1这样排列时的最后一个。即首先计算a的最末位1和b的最末位1。1+1=2,在二进制计算中,应该表示为10,其中1是要进位的,即和两个二进制的1号位相加。
计算过程如下图(原谅我的灵魂画风。。):
具体代码如下:
public class AddBinary {
public static String addBinary(String a, String b)