📜  检查字符串是否为 Isogram(1)

📅  最后修改于: 2023-12-03 15:26:45.846000             🧑  作者: Mango

检查字符串是否为 Isogram

Isogram是一个单词或短语中没有重复字母的单词或短语。在编程中,我们需要编写一个函数来检查字符串是否为Isogram。

实现逻辑

我们可以使用哈希表来存储每个字符是否已经出现过。如果有重复字符,则该字符的计数器将增加。

以下是实现Isogram检查的步骤:

  1. 创建一个空的哈希表(字典)
  2. 遍历每个字符
  3. 对于每个字符,检查字典中是否已经存在该字符。如果是,则不是Isogram,返回False。如果没有,则在字典中添加该字符
  4. 如果遍历完整个字符串,则该字符串是Isogram,返回True。
代码实现
def is_isogram(word):
    """
    检查字符串是否为Isogram
    :param word: 待检查的字符串
    :return: True/False
    """
    word = word.lower()
    chars_map = {}
    for c in word:
        if c in chars_map:
            return False
        else:
            chars_map[c] = 1
    return True
使用示例
is_isogram("algorithm")  # True
is_isogram("python")  # True
is_isogram("Hello")  # False
性能分析
  • 时间复杂度:O(n),n是字符串的长度
  • 空间复杂度:O(k),k是字符集中的不同字符数。在英语中,k为26。
总结

使用哈希表是判断字符串是否为Isogram的一种快捷有效的方法。在实现时需要注意大小写问题,以及必要的性能分析和优化。