找出字符串中第一个不重复的字符
解决方案 »
- 如果要在try里面赋值的话,必须在外面初始化?
- 请教一个数据库连接的问题
- Swing 隐藏窗体问题
- 对LIST内元素排序问题
- 正则表达式的转义字符在编译器中无法通过的问题
- 急向高手请教一个构造函数的问题!请帮小弟看看这段程序有什么错误?为什么?
- 如何才能动态加载JAR文件???求教了!!!
- 为什么我操作完数据库会提示这个信息10:00:29,448 WARN [SessionImpl] afterTransactionCompletion() was never called
- 提问关于XSL样式表的问题?
- 求大神优化代码,小弟初学JAVA
- 金额计算问题
- java如何限制从控制台输入的数据类型?
char[] charArrays = s.toCharArray();
Set<Character> cset = new HashSet<Character>();
for (int i = 0; i < charArrays.length; i++) {
if (cset.add(charArrays[i])) {
return charArrays[i];
}
}
return ' ';
}
char[] charArrays = s.toCharArray();
Set<Character> cset = new HashSet<Character>();
for (int i = 0; i < charArrays.length; i++) {
if (cset.add(charArrays[i])) {
return charArrays[i];
}
}
return ' ';
}
char[] charArrays = s.toCharArray();
Set<Character> cset = new HashSet<Character>();
for (int i = 0; i < charArrays.length; i++) {
if (cset.add(charArrays[i]) && i > 0) {
return charArrays[i];
}
}
return ' ';
}差了一个条件,这个是好的, 如果是空字符串,我只是返回空的
将字符串按字符 存入改map key为字符 value为字符串位置
插入时判断是否重复 若重复将其设为负数
然后遍历map 比较 value的值 记得过滤掉为负数的value
先将这个字符串分拆开为单个字符,放入ArrayList中,
并且for循环处理这个字符串,并判断当前这个字符是否存在于ArrayList中,用contains()方法即可,有api就是爽!
这样你第一次找出来的不存在ArrayList中的即为你需要的首个不重复的喽
public static Character firstNoRepeated2(String str){
for(int i=0;i<length;i++){
char c = str.charAt(i);
if(str.indexOf(c) == str.lastIndexOf(c)){
return c;
}
}
return null;
}
这段怎么样 ?
for(int i=0;i<length;i++){
char c = str.charAt(i);
if(str.indexOf(c) == str.lastIndexOf(c)){
return c;
}
}
return null;
} 有人想的和我一样么 ????
我就没想到 indexOf 和 lastIndexOf 还可以这样用
楼主的思想很好。
其实楼主是想告诉大家,他对String的indexOf和lastIndexOf()的应用很精通..
受教了,我其实也是一看了,立刻敲几个代码,程序都还没跑,在自己的脑运行了一下而已,其实应该是indexof == lastindexOf就行了,呵呵