📜  添加 n 个二进制字符串(1)

📅  最后修改于: 2023-12-03 14:56:06.965000             🧑  作者: Mango

添加 n 个二进制字符串

需求描述

我们需要编写一个函数,该函数可以将 n 个二进制字符串相加,并返回它们的和的二进制字符串。

输入格式

函数接收一个列表,列表中包含 n 个二进制字符串。

输出格式

函数返回一个二进制字符串。

示例

输入

add_binary_strings(['1010', '1111', '0001'])

输出

'10110'
实现思路

为了将 n 个二进制字符串相加并返回它们的和的二进制字符串,我们可以按位相加。

  1. 将每个二进制字符串转换为整数
  2. 从右往左按位相加,如果某一位相加的结果是 2,则需要进位
  3. 最后,将计算结果转换为二进制字符串,并返回
代码实现
def add_binary_strings(strings):
    res = 0
    for s in strings:
        res += int(s, 2)
    return bin(res)[2:]
性能分析

该实现思路简单明了,时间复杂度为 O(n)。