字符串处理需求:移除串2中串1字符后合并串1与新串2
字符串合并解决方案
规则提炼
从给定示例中可总结出核心逻辑:
- 以第一个字符串作为结果的初始内容,保留其原有字符顺序及重复项。
- 遍历第二个字符串的每个字符,仅当该字符从未在当前结果中出现过时,才将其追加到结果末尾;若已出现过则直接跳过。
代码实现(Python)
def merge_strings(s1, s2): result = list(s1) seen = set(s1) for char in s2: if char not in seen: result.append(char) seen.add(char) return ''.join(result)
代码解释
- 初始化结果与集合:
- 将第一个字符串转为列表
result,方便后续追加操作。 - 创建集合
seen存储已出现过的字符,利用集合O(1)的查询效率提升性能。
- 将第一个字符串转为列表
- 遍历第二个字符串:
- 逐个检查每个字符,若不在
seen中,则将其添加到result末尾,并同步加入seen集合。 - 若字符已存在,直接跳过,避免重复添加。
- 逐个检查每个字符,若不在
- 返回结果:将列表
result拼接为字符串返回。
示例验证
用给定示例测试:
merge_strings("hello", "world")→"hellowrd"merge_strings("stops", "potts111")→"stops1"merge_strings("jokes", "bedazzling")→"jokesbdazling"
所有结果均符合预期。
内容的提问来源于stack exchange,提问作者Avery Alvarez
相关产品推荐
相关产品推荐

