LeetCode字符串简单题67二进制求和https://leetcode-cn.com/problems/add-binary/思路通过一个for循环逐位相加运算考虑四种情况10010011每种情况考虑进位为0或1的情况。用一个变量来存储低位进位。问题与方案1.仿照二进制加法我们要从低位开始运算但是这显然不符合我用循环的编程直觉代码实现会很麻烦。我通过str[::-1]使字符串倒置这样可以从高位开始读取运算。2.我希望用for循环逐字读取字符串的数据例如字符串ab的第一个字符相加第二个字符相加。。。但出现了一个问题这种思路下如果a的长度小于ba读取完了就不会再进行加法导致出现错误。我采用了低位补0的方法先判断哪个字符串更短然后用一个while循环在短字符串低位补0直到一样长。3.最后没有考虑到最高位计算的溢出情况要额外添加一个判断k为1的时候在最高位添1。4.如何得到最后的倒置后的结果字符串是可以像算数计算一样相加的我定义了一个空字符串res每次计算完一位后将结果加入res注意数据类型是字符而不是实数。5.最后要记得将结果倒置。总结拿到要求要勇于对题设条件进行修改和优化在最后要记得将结果转化为题目需要的形式条件判断要注意边缘情况边缘情况可能需要特殊的判断。https://leetcode-cn.com/problems/add-binary/