如何在int ++中将int的向量转换为单个int?
vector<int>myints = {3, 55, 2, 7, 8}
Run Code Online (Sandbox Code Playgroud)
预期答案: 355278
这是一个快速而肮脏的方式:
using namespace std;
vector<int> myints = {3, 55, 2, 7, 8};
stringstream stream;
for(const auto &i : myints)
{
stream << i;
}
int value = stoi(stream.str());
Run Code Online (Sandbox Code Playgroud)
这是一种没有字符串的方法:
using namespace std;
vector<int> myints = {3, 55, 2, 7, 8};
int value = 0;
for(auto i : myints)
{
int number = i;
do
{
value *= 10;
i /= 10;
}while(i != 0);
value += number;
}
cout << value << endl;
Run Code Online (Sandbox Code Playgroud)
这i /= 10是关键位,因为它根据当前数字中的位数来缩放数字,i