Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit e36c15a

Browse files
Update kama54.替换数字.md
1 parent 383239d commit e36c15a

File tree

1 file changed

+16
-16
lines changed

1 file changed

+16
-16
lines changed

‎problems/kama54.替换数字.md‎

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -56,36 +56,36 @@
5656
C++代码如下:
5757

5858
```CPP
59-
#include<iostream>
59+
#include<iostream>
6060
using namespace std;
6161
int main() {
6262
string s;
6363
while (cin >> s) {
64+
int sOldIndex = s.size() - 1;
6465
int count = 0; // 统计数字的个数
65-
int sOldSize = s.size();
6666
for (int i = 0; i < s.size(); i++) {
6767
if (s[i] >= '0' && s[i] <= '9') {
6868
count++;
6969
}
7070
}
71-
// 扩充字符串s的大小,也就是每个空格替换成"number"之后的大小
71+
// 扩充字符串s的大小,也就是将每个数字替换成"number"之后的大小
7272
s.resize(s.size() + count * 5);
73-
int sNewSize = s.size();
74-
// 从后先前将空格替换为"number"
75-
for (int i = sNewSize - 1, j = sOldSize - 1; j < i; i--, j--) {
76-
if (s[j] > '9' || s[j] < '0') {
77-
s[i] = s[j];
73+
int sNewIndex = s.size() - 1;
74+
// 从后往前将数字替换为"number"
75+
while (sOldIndex >= 0) {
76+
if (s[sOldIndex] >= '0' && s[sOldIndex] <= '9') {
77+
s[sNewIndex--] = 'r';
78+
s[sNewIndex--] = 'e';
79+
s[sNewIndex--] = 'b';
80+
s[sNewIndex--] = 'm';
81+
s[sNewIndex--] = 'u';
82+
s[sNewIndex--] = 'n';
7883
} else {
79-
s[i] = 'r';
80-
s[i - 1] = 'e';
81-
s[i - 2] = 'b';
82-
s[i - 3] = 'm';
83-
s[i - 4] = 'u';
84-
s[i - 5] = 'n';
85-
i -= 5;
84+
s[sNewIndex--] = s[sOldIndex];
8685
}
86+
sOldIndex--;
8787
}
88-
cout << s << endl;
88+
cout << s << endl;
8989
}
9090
}
9191

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /