交替字符串排列

def alternative_string_arrange(first_str: str, second_str: str) -> str:
    """
    返回两个字符串的交替排列。
    :param first_str: 第一个字符串
    :param second_str: 第二个字符串
    :return: 交替排列后的字符串
    >>> alternative_string_arrange("ABCD", "XY")
    'AXBYCD'
    >>> alternative_string_arrange("XY", "ABCD")
    'XAYBCD'
    >>> alternative_string_arrange("AB", "XYZ")
    'AXBYZ'
    >>> alternative_string_arrange("ABC", "")
    'ABC'
    """
    # 获取两个字符串的长度
    first_str_length: int = len(first_str)
    second_str_length: int = len(second_str)
    
    # 计算两个字符串长度的绝对值
    abs_length: int = (
        first_str_length if first_str_length > second_str_length else second_str_length
    )
    
    # 初始化一个空列表,用于存储交替排列的字符
    output_list: list = []
    
    # 遍历字符串长度的绝对值次
    for char_count in range(abs_length):
        # 如果当前计数小于第一个字符串的长度,将第一个字符串的字符添加到列表中
        if char_count < first_str_length:
            output_list.append(first_str[char_count])
        # 如果当前计数小于第二个字符串的长度,将第二个字符串的字符添加到列表中
        if char_count < second_str_length:
            output_list.append(second_str[char_count])
    
    # 将列表中的字符连接成字符串并返回
    return "".join(output_list)


if __name__ == "__main__":
    # 调用函数并打印结果
    print(alternative_string_arrange("AB", "XYZ"), end=" "
posted @ 2024-02-01 11:44  mlhello-world  阅读(7)  评论(0编辑  收藏  举报