剑指offer-二进制加法思路及代码
文章目录
问题描述
给定两个 01 字符串 a 和 b ,请计算它们的和,并以二进制字符串的形式输出,
输入为 非空 字符串且只包含数字 1 和 0。/font>
重点剖析
该题的解法及思路还是比较清晰的,应该没有什么难点,直接使用二进制的加法进行代码即可,该题给大家提供一种解决二进制加法的一种思路。
思路分析
- 该题思路较为简单,首先我们想到两种方法,一种是将二进制数转为十进制整数进行相加,第二种是直接在二进制的基础上进行相加。
- 进一步思考的话第一种方法是有问题的,当二进制数超过int或long类型的数值的范围时,我们是无法将其转换为整数进行相加的,所以该方法不能使用。
- 考虑第二种方法,即直接在二进制的基础上进行,采取将两个二进制数的右端对齐,由右向左逐个进行相加,并且考虑逢二进一。
代码
StringBuilder result = new StringBuilder();
int i = s1.