面试题-01.01-判定字符是否唯一

实现一个算法,确定一个字符串 s 的所有字符是否全都不同。


image.png

解题思路:

  1. 思路一:字典存储;
  2. 思路二:位运算,astr包含了26个字母,用26位的二进制存储,变化范围为;|或操作用于对某一位赋值;&与操作用于判断mask中某一位是否出现过,若出现过,&后结果大于0。

Python3代码:

class Solution:
    def isUnique(self, astr: str) -> bool:
        # ans = {}
        # for i in range(len(astr)):
        #     if astr[i] in ans:
        #         return False
        #     else:
        #         ans[astr[i]] = 1
        # return True

        # 位运算
        mask = 0 
        for c in astr:
            if mask & (1<

你可能感兴趣的:(面试题-01.01-判定字符是否唯一)