JAVA删除重复字符串
来源:互联网 发布:nginx zookeeper 区别 编辑:程序博客网 时间:2024/06/06 20:31
转自:http://blog.csdn.net/u011299745/article/details/52600856
string去除重复字符
今天面试遇到,使用了第一种,回来记录了下,觉得一般可能不是这样解的。想了第二种,还是觉得不妥,这里都贴出来。
网上有很多伪方法,只删除了相邻重复字符串,大家警惕!
主要使用list.contains()检测重复。
一直在想本来应该怎样做,因为面试官说了句只用了一层循环,可能这样是比较通用的:
1、charAt遍历String每个字符(第一层循环)
2、charAt遍历StringBuffer每个字符,如果没有就加进去(第二层循环)
import java.util.*; public class Main06 { public static void main(String[] args) { // TODO Auto-generated method stub String str = "kjkljklhuionsd"; System.out.println(sub(str)); System.out.println(sub1(str)); } //方法1 static String sub(String str){ StringBuffer result = new StringBuffer(); List list = new ArrayList(); char[] cs = str.toCharArray(); for(int i=0; i<cs.length; i++){ if(!list.contains(cs[i])){ result.append(cs[i]); list.add(cs[i]); } } return result.toString(); } //方法2 static String sub1(String str){ List list = new ArrayList(); StringBuffer sb = new StringBuffer(str); int j=0; for(int i=0; i<str.length(); i++){ if(list.contains(str.charAt(i))){ sb.deleteCharAt(i-j); //String 是没有delete方法的 j++; //因为删除了sb中的字符,有一个偏移 }else{ list.add(str.charAt(i)); } } return sb.toString(); } }
阅读全文
0 0
- JAVA删除重复字符串
- 删除重复字符串
- 删除重复字符串-转载
- 删除重复字符串
- OJ删除重复字符串
- Java删除字符串中重复的String类型的字符
- 删除字符串中重复字符
- 删除字符串重复的字符
- 删除字符串中重复字符
- 删除字符串中的重复字符
- 删除字符串中的重复字符
- 删除字符串中重复字符
- 删除字符串中重复字符
- 删除字符串中的重复字符
- asp 删除重复字符串,多留一
- 删除字符串中重复元素
- 删除字符串中重复字符
- 删除字符串中重复字符。
- 你好,世界!
- java线程学习总结
- Tist和Ste
- Java_22 ZIP压缩输入/输出流
- ACM随笔
- JAVA删除重复字符串
- 【数据库】基础知识点
- 2017 ACM-ICPC 亚洲区(乌鲁木齐赛区)网络赛 C. Coconut
- EL表达式大全
- 新手笔记本—C++ 继承(public、protected、private)构造与析构
- python 判定变量是函数
- HDU 6043 规律题
- nginx.conf
- 浮点转定点运算 (转)