【基于C++的经典算法实现:字符串反转】——利用栈数据结构
字符串反转是计算机领域中一个非常基础的问题,对于C++程序员来说,我们可以使用栈这种数据结构来实现字符串反转的功能。
在使用栈来实现字符串反转时,我们需要注意以下几点:
-
首先需要定义一个栈;
-
利用for循环把字符串的每一个字符一个一个地压入到栈中;
-
最后再依次从栈顶取出每一个字符,就可以实现字符串反转的功能。
下面是相应的C++代码实现:
#include <iostream>
#include <stack>
using namespace std;
string reverseStr(string s) {
stack<char> st;
string res;
for(int i = 0; i < s.length(); ++i) {
st.push(s[i]);
}
while(!st.empty()) {
res += st.top();
st.pop();
}
return res;
}
int main() {
string s = "Hello World!";
cout << reverseStr(s) << endl;
return 0;
}
上述代码中,我们首先定义了一个名为“st”的栈,接着利用for循环将字符串s的每一个字符一个一个地压入到