给定长度为N的字符串str ,任务是遍历字符串并打印给定字符串的所有字符。
例子:
Input: str = “GeeksforGeeks”
Output: G e e k s f o r G e e k s
Input: str = “Coder”
Output: C o d e r
朴素的方法:解决这个问题的最简单的方法是在[0, N – 1]范围内迭代一个循环,其中N表示字符串的长度,使用变量i并打印str[i]的值。
下面是上述方法的实现:
C++
// C++ program to implement
// the above approach
#include
using namespace std;
// Function to traverse the string and
// print the characters of the string
void TraverseString(string &str, int N)
{
// Traverse the string
for (int i = 0; i < N; i++) {
// Print current character
cout<< str[i]<< " ";
}
}
// Driver Code
int main()
{
string str = "GeeksforGeeks";
// Stores length of the string
int N = str.length();
TraverseString(str, N);
}
C++
// C++ program to implement
// the above approach
#include
using namespace std;
// Function to traverse the string and
// print the elements of the string
void TraverseString(string &str, int N)
{
// Traverse the string
for (auto &ch : str) {
// Print current character
cout<< ch<< " ";
}
}
// Driver Code
int main()
{
string str = "GeeksforGeeks";
// Stores length of the string
int N = str.length();
TraverseString(str, N);
}
C++
// C++ program to implement
// the above approach
#include
using namespace std;
// Function to traverse the string and
// print the elements of the string
void TraverseString(string &str, int N)
{
// Stores address of
// a character of str
string:: iterator it;
// Traverse the string
for (it = str.begin(); it != str.end();
it++) {
// Print current character
cout<< *it<< " ";
}
}
// Driver Code
int main()
{
string str = "GeeksforGeeks";
// Stores length of the string
int N = str.length();
TraverseString(str, N);
}
输出:
G e e k s f o r G e e k s
时间复杂度: O(N)
辅助空间: O(1)
基于自动关键字的方法:可以使用自动迭代器遍历字符串。
下面是上述方法的实现:
C++
// C++ program to implement
// the above approach
#include
using namespace std;
// Function to traverse the string and
// print the elements of the string
void TraverseString(string &str, int N)
{
// Traverse the string
for (auto &ch : str) {
// Print current character
cout<< ch<< " ";
}
}
// Driver Code
int main()
{
string str = "GeeksforGeeks";
// Stores length of the string
int N = str.length();
TraverseString(str, N);
}
输出:
G e e k s f o r G e e k s
时间复杂度: O(N)
辅助空间: O(1)
基于迭代器的方法:可以使用迭代器遍历字符串。
下面是上述方法的实现:
C++
// C++ program to implement
// the above approach
#include
using namespace std;
// Function to traverse the string and
// print the elements of the string
void TraverseString(string &str, int N)
{
// Stores address of
// a character of str
string:: iterator it;
// Traverse the string
for (it = str.begin(); it != str.end();
it++) {
// Print current character
cout<< *it<< " ";
}
}
// Driver Code
int main()
{
string str = "GeeksforGeeks";
// Stores length of the string
int N = str.length();
TraverseString(str, N);
}
输出:
G e e k s f o r G e e k s
时间复杂度: O(N)
辅助空间: O(1)
想要从精选的视频和练习题中学习,请查看C++ 基础课程,从基础到高级 C++ 和C++ STL 课程,了解基础加 STL。要完成从学习语言到 DS Algo 等的准备工作,请参阅完整的面试准备课程。