1. 第一个只出现一次的字符
在字符串 s 中找出第一个只出现一次的字符。如果没有,返回一个单空格。 s 只包含小写字母。
示例:s = "abaccdeff"返回 "b"s = ""返回 " "
思路
- 创建一个Set用于存放非结果字符
扫描字符串中的每个字符
判断字符是否在Set中存在
- 存在,则继续跳转到下一次循环,进行下一次扫描
不存在,则依次扫描该字符后面的所有字符,比较是否有与该字符相等的字符
- 没有,直接返回该字符
- 有,进行下一次循环
```java
class Solution {
public char firstUniqChar(String s) {
if(s==””){
return ‘ ‘;
}
Set
set = new HashSet<>(); char[] chs = s.toCharArray();
for(int i=0;i<chs.length;i++){
char temp = chs[i]; if(set.contains(temp)) continue; // 重点 if(i==chs.length-1){ return s.charAt(i); } for(int j=i+1;j<chs.length;j++){ if(temp!=chs[j]){ if(j==chs.length-1){ return temp; } continue; } set.add(temp); break; }} return ‘ ‘; } } ```
上述代码标注位置
- 用于处理迭字,单字,结果为最后一个字符。
