力扣小白刷题之67题二进制求和
题目描述
给定两个二进制字符串,返回它们的和(用二进制表示)。
输入为非空字符串且只包含数字 1 和 0。
注:字符串如果不是 “0”,就都不含前导 0 .
思路
参考自:https://leetcode-cn.com/problems/add-binary/solution/hua-jie-suan-fa-67-er-jin-zhi-qiu-he-by-guanpengch/
整体思路是将两个字符串较短的用 0 补齐,使得两个字符串长度一致,然后从末尾进行遍历计算,得到最终结果。
但由于字符串操作问题,不确定最后的结果是否会多出一位进位,所以会有两种处理方式:
- 第一种:在进行计算时直接拼接字符串,会得到一个反向字符,需要最后再进行翻转
- 第二种:按照位置给结果字符赋值,最后如果有进位,则在前方进行字符串拼接添加进位。
时间复杂度:O(n)