最近我遇到了一个我无法在学校解决的问题。
我需要删除包含单词的输入字符串中的重复单词。这里的主要问题是该要求声明我不能使用数组或正则表达式。
E.g。
userInput =“这是测试测试真的很有趣”
因此输出结果为 - “这真是一个测试测试的乐趣”
如果不使用Arrays或Regular Expressions,实际上如何实现这一点,因为不可能通过空格分割单词并在java中动态创建String。
答案 0 :(得分:0)
我没有编译这段代码,但我认为它应该可行。 让我知道它是否可以帮助您解决问题。
public String solve(String input) {
String ret = "";
int pos = 0;
while(pos<input.length()) {
// find next position of space
int next = input.indexOf(' ',pos);
// space not exists, skip next to end of string
if(next==-1) next = input.length();
// take 1 word from input
String word = input.substring(pos,next);
// check if word exists in previous result
if(ret.indexOf(word)==-1) {
if(ret.length() > 0) ret += " ";
// append word to ret
ret += word;
}
pos = next + 1;
}
return ret;
}