【发布时间】:2018-05-25 11:11:05
【问题描述】:
示例输入 0
aaabccddd
样本输出 0
abd
我找到了这个解决方案
static String super_reduced_string(String s)
{
int i;
String s1="Empty String";
StringBuffer ss = new StringBuffer(s);
for(i = 1; i < ss.length(); i++) {
if(ss.charAt(i) == ss.charAt(i-1)) {
ss.deleteCharAt(i);
ss.deleteCharAt(i-1);
i = 0;
}
}
String str2 = ss.toString();
if(ss.length() == 0)
return s1;
else
return str2;
}
我不明白为什么i = 0 在代码中,因为当ss.CharAt(i - 1) 行运行时,编译器应该显示一些错误,但代码工作正常。
【问题讨论】:
-
我没有看到明确的问题陈述。当前输出是您想要的吗?无论如何,这个输出背后的逻辑是什么?
-
我想知道他们为什么放 i=0?
-
你试过运行代码吗?它在语义上是正确的,因此 compiler 不会显示错误。但是当它运行时,它很可能会以
ArrayIndexOutOfBoundsException退出。 -
我注意到您的问题仍然是“开放的”:您没有接受答案。请查看并决定是否要accept 回答。或者让我知道我是否可以做些什么来增强我的输入以使其被接受。接受有助于未来的读者确定问题是否得到解决,并对花时间回答你的人表示感谢。
标签: java string algorithm char