一、实现一个算法:识别一个字符串中,是否包含唯一的字符。
如果字符串中的字符都是唯一的,则返回 True,如 ‘123’。
如果字符串中的字符有重复,则返回 False,如 ‘1223’。
解题思路:
看到这个题目,你的第一反应可能是:先把字符串中每个字符都拆分出来,放入一个列表,再统计列表中是否有数量为 1 的字符。但这么做不但费时,而且要循环多次,效率极低,有一个方法可以让你超过 99 % 的面试者:
还记得 Python 的 Set (集合) 概念吗?在集合中,所有的元素都是唯一的。你可以使用 set() 方法将字符串、列表等任何「可迭代对象」转换为集合,转换后会删除重复的元素,继而长度会发生变化。所以,我们只需要将字符串转换为集合,然后比较转换前后的长度即可,代码如下。
参考答案:
classUniqueChars(object):
def has_unique_chars(self, string)<