Convert vector to string in C++
Given a vector, we are supposed to make a string containing all of its elements in C++. It will be a single string of vector elements.
Example:
Vector Elements: {“hello”, “what”, “is”, “your”, “name”}
Output String: hellowhatisyourname
First Approach (Using + operator):
Here we have to concatenate given array elements to a string so we can simply use the “+” operator to concatenate all the strings. The steps involved are-
- First, take an empty output string.
- Now traverse through the vector.
- Keep adding elements of the vector to the output string while traversing.
Below is the code implementation to understand it better.
#include<bits/stdc++.h> using namespace std; int main(){ // Given Vector vector<string>arr={"hello","what","is","your","name"}; // Output string string out=""; // Add elements of the vector using + operator for(auto& it:arr){ out+=it; } // output the final string cout<<out<<endl; return 0; }
Time Complexity: O(n) where n is the sum of all characters of the given vector.
Space Complexity: O(1) since no extra space is used.
Second Approach (using push_back):
We can also apply the above idea using push_back in the string. But here this should be noted that push_back()
doesn’t allow adding a complete string to the given string. It can only add a character to the back of the string. So we have to traverse through each string of the given vector separately.
Below is the code implementation to understand it better.
#include<bits/stdc++.h> using namespace std; int main(){ vector<string>arr={"hello","what","is","your","name"}; string out=""; for(auto& it:arr){ for(auto & i:it){ out.push_back(i); } } cout<<out<<endl; return 0; }
Time Complexity: O(n^2) where n is the sum of all characters of the vector element. Because push_back takes O(n) time to add an element to the back of the string so for every character it will take the extra O(n) time. Hence complexity is O(n^2).
Space Complexity: O(1) since no extra space is used.
Leave a Reply