1.第一个只出现一次字符的位置
import java.util.*;
public class Solution{
public int FirstNotRepeatingChar(String str){
if(str==null||str.length()==0) return -1;
char[] c=str.toCharArray();
LinkedHashMap<Character,Integer> hash=new LinkedHashMap<Character,Integer>();
for(char item:c){
if(hash.containsKey(item))
hash.put(item,hash.get(item)+1);
else
hash.put(item,1);
}
for(int i=0;i<str.length();i++){
if(hash.get(str.charAt(i))==1){
return i;
}
}
return -1;
}
}
思路:1.如果字符串为空,字符串的长度为0,返回-1;
2.将字符串数组转换成字符串
3.创建一个hash集合,存储结果
4.遍历字符串,如果hash集合中包含重复的字符
就把重复的字符的索引传入链表。否则没有
```重复的话,就传入链表中。
5.遍历hash集合,获取链表中不重复的字符串的索引。
## 2.左旋转字符串
```java
public class Solution{
public String LeftRotateString(String str,int n){
if(str==null||str.length()==0) return str;
return str.substring(n)+str.substring(0,n);
}
}
思路:1.如果字符串为空或者字符串的长度为0,返回str
2.substring(截取)n为后的字符串+(0-n)的字符串。