灵萱4753 发表于 2016-6-7 08:30:43

(华为笔试题)通过键盘输入一串写字母(a~zA-Z)组成的字符串

  华为2014笔试算法题(字符串处理部分) 1.通过键盘输入一串小写字母(a~zA-Z)组成的字符串。请编写一个字符串过滤程序,若字符串中出现多个相同的字符,将非首次出现的字符过滤掉。 比如字符串“abacacde”过滤结果为“abcde”。

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashSet;
public class Test {
public static void main(String[] args) throws Exception {
BufferedReader strin = new BufferedReader(new InputStreamReader(
System.in));
String str = strin.readLine();
char[] charArray = str.toCharArray();
ArrayList list = new ArrayList();
HashSet hashSet = new HashSet(Arrays.asList(str.toCharArray()));
for (int i = 0; i < charArray.length; i++) {
char c = charArray;
if (String.valueOf(c).matches("")
&& !list.contains(String.valueOf(c))
&& (str.indexOf(String.valueOf(c), i + 1) > -1)) {
list.add(String.valueOf(c));
System.out.print(String.valueOf(c));
}
}
}
}
  


  
页: [1]
查看完整版本: (华为笔试题)通过键盘输入一串写字母(a~zA-Z)组成的字符串