CF600A Extract Numbers

先说几句

只是一道讨厌的模拟。建议难度:普及。

解题思路

先在原始字符串上提取出每个子串。为了方便最后的处理,可以在原输入字符串最后加上一个分号。

每读到一个分号或逗号,当即进行判断。

写一个函数判断 t 是否为数字串。清空字符串 t

如果是数字串,就 ans1+=t,否则就是字母串,ans2+=t

为了方便输出,每 +=t 后都再加一个逗号。

最后了。如果没有数字串,就输出 -。不然,就把 ans1 的最后一个多余的逗号去掉,前后加引号输出。反之亦然。 注意:引号要使用转义字符。

如何判断是否为数字串

如果字符串有前导零,只用看字符串的第一位是不是 0

但如果字符串就是 0,应当特判。

对字符串进行遍历。只要字符串出现非数字的字符,直接 return false

否则 return true

奉上代码

千万不要抄,小心棕名!


All Rights Reserved 2022 Wang Zhanrui