java解决“第一个只出现一次的字符”最菜的方法
第一个只出现一次的字符
http://www.nowcoder.com/questionTerminal/1c82e8cf713b4bbeb2a5b31cf5b0417c
我是小白,当然只能用小白的方法解题了,简单粗暴。
思路:用一个count来记录字符出现的次数,先将字符串转化成字符数组,第一层循环拿第i个字符,将第一层拿到的第i个字符分别和再次循环这个数组的每一个字符进行对比,如果发现有相同的字符,count++,break退出第二层for,继续第一层for,直到找到第一个没有重复的字符,打印i,即位置。
public class Solution {
public int FirstNotRepeatingChar(String str) {
if(str == null || str == ""){
return -1;
}
char ss[] = str.toCharArray();
char tmp;
for(int i = 0; i < ss.length - 1; i++){
tmp = ss[i];
int count = 1;
for(int j = 0; j < ss.length; j++){
if(i != j){
if(tmp == ss[j]){
count++;
break;
}
}
}
if(count == 1){
return i;
}
}
return -1;
}
}
查看28道真题和解析