相同消除:O(n²)
- 一个char如果后面有相同的char,就都替换成‘_’字符,(因为str只包含字母)
- 如果第二个for循环 j 走到了 str的尾 都没有发生替换,那么 i 指的就是 第一个 的位置了
class Solution_02 { public int FirstNotRepeatingChar(String str) { if(str==null || str.length()==0) return -1; for(int i=0;i<str.length();i++) { char c=str.charAt(i); if(c!='_') { int j=i+1; for(;j<str.length();j++) { if(c==str.charAt(j)) { str=str.replace(c, '_'); break; } } if(j==str.length()) return i; } } return -1; } }