【发布时间】:2017-03-15 20:38:08
【问题描述】:
关于涉及整数和整体编码的技术,我有几个问题。
例如,如果我必须修改或检查整数,我将数字的数字保存在向量中,然后使用它们,然后在必要时将它们重新组合在一起,但是,我认为这有点不切实际。
有一个任务,我必须编写一个函数,从整数中删除零并返回相同的数字但不包含零。
int removeZeros(int n) {
std::vector<int> v;
while(n != 0) {
v.push_back(n%10);
n /= 10;
}
for(int i = 0; i < v.size(); i++) {
if(v[i] == 0) {
v.erase(v.begin() + i);
i--;
}
}
for(int i = v.size() - 1; i >= 0; i--) {
n *= 10;
n += v[i];
}
return n;
}
这段代码运行良好,但我不确定它是否“写”得好、效率高。
你觉得这个方法好,够高效吗?还是有更好、更方便的方法来处理(或修改)整数?
你能给我一些关于如何成为更高效的编码员的提示吗?
谢谢
【问题讨论】:
-
我投票结束这个问题,因为关于编码风格的问题更适合 CodeReview.stackexchange.com。