```
实现一个算法,确定一个字符串 s 的所有字符是否全都不同。
示例 1:
输入: s = "leetcode"
输出: false
示例 2:
输入: s = "abc"
输出: true
限制:
0 <= len(s) <= 100
如果你不使用额外的数据结构,会很加分。
```
#### 1、运用HashMap解决
题目中提示尽量不要用额外的数据结构
```
public class IsUniqueLCCI {
public static boolean isUnique(String astr) {
boolean flag = true;
Map<Character, Integer> map = new HashMap();
for (int i = 0; i < astr.length(); i++) {
if (map.containsKey(astr.charAt(i))) {
return false;
}
map.put(astr.charAt(i), i);
}
return flag;
}
public static void main(String[] args) {
System.out.println(isUnique("wwfrtert"));
}
}
```
#### 2、使用字符串原生方法 indexOf() 和 lastIndexOf()
>知识点:
作用:
>
>indexOf:查找某个字符串在字符串首次出现的位置
>
>lastIndexOf:从右想做查找某个字符串在字符串中最后一次出现的位置
>
>不同点:
>
>indexOf:从左往右查找
>
>lastIndexOf:从右往左查找
>
>注意:lastIndexOf()方法虽然是从后往前搜索,但返回的位置是从前开始数的。
>
举例:
```
String a = "qwerty";
int i = a.indexOf("q");
int j = a.lastIndexOf("q");
System.out.println(i);
System.out.println(j);
```
output:
```
0
0
```
实现代码:
```
class Solution {
public boolean isUnique(String astr) {
if (astr.length() == 1 || astr.length() == 0) {
return true;
}
boolean flag = true;
for (int i = 0; i < astr.length(); i++) {
if (astr.indexOf(astr.charAt(i)) != astr.lastIndexOf(astr.charAt(i))) {
return false;
}
}
return flag;
}
}
```

LeetCode 进阶之路 - 判定字符是否唯一