我有一个字符串数组,结构如下:
arr[0] = "AB82374892";
arr[1] = "QBA9980309";
arr[2] = "AC00098320";
等等。
如何从每个数组元素中删除每个非数字字符串元素?这样上面的数组就变成了:
arr[0] = "82374892";
arr[1] = "9980309";
arr[2] = "00098320";
目标是获取仅数字字符串,以便可以有效地执行字典级别排序。
答案 0 :(得分:0)
对于每个字符串,使用两个指针 - writer和reader。
伪代码:
writer = reader = 0
while reader < n:
if arr[reader] is numeric:
arr[writer++] = arr[reader++]
else:
reader++
(不要忘记为每个字符串添加一个空终结符)