📅  最后修改于: 2023-12-03 14:55:32.504000             🧑  作者: Mango
编写一个函数,接受两个字符串作为输入,返回这两个字符串中所有不常见字符的列表。可以假设输入的字符串只包含小写字母。
输入: "apple", "orange" 输出: ["a", "o"]
输入: "hello", "world" 输出: ["h", "e", "w", "r", "d"]
我们可以使用哈希表来存储每个字符出现的次数,然后再遍历一次哈希表,将出现次数为1的字符加入到列表中。最后返回列表即可。
def uncommon_chars(str1, str2):
hash_table = {}
for char in str1:
hash_table[char] = hash_table.get(char, 0) + 1
for char in str2:
hash_table[char] = hash_table.get(char, 0) + 1
uncommon_chars = []
for char in hash_table:
if hash_table[char] == 1:
uncommon_chars.append(char)
return uncommon_chars
我们来使用一些测试用例来检验一下我们的算法。
assert uncommon_chars("apple", "orange") == ["a", "o"]
assert uncommon_chars("hello", "world") == ["h", "e", "w", "r", "d"]
assert uncommon_chars("abc", "def") == ["a", "b", "c", "d", "e", "f"]
assert uncommon_chars("", "") == []
我们发现所有测试用例都通过了。