-2

I want to expand the string like below, but without using the extra space..

  a5b1c0d5a1a1

And result should be..

  aaaaabaa

I am stuck here. How to do it without extra space?

4

1 回答 1

1

我会读取每个字符,检查是字母,而不是取下一个字符,检查它是否是数字,而不是只将字母时间添加到结果字符串中。

在你的例子中,我会读的第一件事是 a,a 是一个字母,所以阅读下一个,检查它是否是一个数字,它是。所以附加到一个结果字符串五个a。

例如,使用循环时间来附加字母。

更新

更好地解释我的评论。

所以你正在循环字符串。

索引 0 你有'a'。所以你读了一封信,然后你期望得到一个数字,即 5。

我现在将字符串分成其他字符串。第一个将拥有直到 a 的所有内容,在这种情况下只有 a。

第二个将包含数字之后的所有内容,在本例中为 5,即 b1c0d5a1a1

所以取第一个字符串,与 4 (5-1,你已经有了第一个 a) 连接,然后与字符串的其余部分连接。

string = b1c0d5a1a1
string = substring(0,1) + "aaaa" + substring(1,stringsize-1);

在像 0 这样的情况下,您可以使用子字符串索引,这样您就可以删除字母,而不是添加更多字母。

于 2013-07-24T18:47:19.600 回答