RE求助

UVA10815 Andy's First Dictionary

@[Micro_Seven](/user/291358) ```cpp while (!isalpha(word[0])) word.erase(word.begin()); //把单词前多余的非字母内容去掉 while (!isalpha(word.back())) word.erase(word.end() - 1); //把单词后多余的非字母内容去掉 ``` => 执行删除操作前需要判断字符串是否已经为空,为空时执行删除操作会导致 $\texttt{Runtime Error}$。 ```cpp while (strlen(&word[0]) && !isalpha(word[0])) word.erase(word.begin()); //把单词前多余的非字母内容去掉 while (strlen(&word[0]) && !isalpha(word.back())) word.erase(word.end() - 1); //把单词后多余的非字母内容去掉 ```
by metaphysis @ 2021-06-03 08:09:09


@[Micro_Seven](/user/291358) 您的代码还未考虑以下的输入情形: ``` 12AB34CD56EF ``` 即数字和字母间隔,正确输出为: ``` ab cd ef ``` 按您的解题逻辑则会输出: ``` ab34cd56ef ```
by metaphysis @ 2021-06-03 08:13:10


@[metaphysis](/user/333388) 感谢您的 Hack 数据,自己想真想不到
by 我是人999 @ 2022-05-01 12:57:55


|