LeetCode刷题记录4——67. Add Binary(easy)
目录
LeetCode刷题记录4——67. Add Binary(easy)
题目
今天这题是与字符串相关的,题目如下:
题目给出两个字符串a和b,a和b均是只包含0和1的二进制数,我们所要做的就是二进制的加法,例如给定“11”和“1”,那么结果就是“100”.
语言
Java
思路
-
看到这题的时候还是很好理解的,就是二进制加法的实现,但是一想,他给的是字符串不是整型数组,所以我就先把它转化为int型数组了,然后再从低位相加,加的同时定义进位位,从而进行下一次加法,当是1+1的情况,则结果位0,进位位为1,但是这样实现很复杂。
-
第二种思路思路就是转化为int型之后,低位开始相加,且就让他用十进制的方法相加,例如1+1就等于2,但是2并不是结果,没有关系,再用2除2,得到的除数就是加法的结果,得到的余数就是进位位。
-
今天也长见识了,python就用一句代码就实现了。利用Python的进制转换函数,先将两个加数转成10进制,再把和转换成二进制返回即可。
后记
各个语言有各自的优点,所以我们要找一个又快又好的方法来最好的解决问题。