判定字符是否唯一
题目描述
实现一个算法,确定一个字符串 s 的所有字符是否全都不同。
示例 1:
输入: s = "leetcode"
输出: false
示例 2:
输入: s = "abc"
输出: true
限制:
- 0 <= len(s) <= 100
- 如果你不使用额外的数据结构,会很加分。
解题思路
使用字符计数数组来记录字符串中字符出现的次数,当任一字符出现的次数大于1时,则字符串中的字符不唯一,否则字符串中的字符唯一。
复杂度分析
- 时间复杂度:O(n)。
- 空间复杂度:O(1)。
代码实现
class Solution {
public boolean isUnique(String astr) {
int[] arr = new int[128];
for (char c : astr.toCharArray()) {
if (++ arr[(int)c] > 1) {
return false;
}
}
return true;
}
}