PTA乙级1009,说反话

分析:

下面这种是用栈解决的,比较简单,看了柳婼的博客

#include 
using namespace std;
    
int main() {
    stack<string> v;
    string s;
        
    while(cin >> s) 
        v.push(s);
    cout << v.top();
    v.pop();
        
    while(!v.empty()) {
        cout << " " << v.top();
        v.pop();
    }
    return 0;
}

下面这一种是博主日沉云起的做法,利用了反向迭代器

#include
using namespace std;

int main(){
    string s;
    vector<string>v;
    while(cin>>s)
        v.push_back(s);
    for(auto it=v.rbegin();it!=v.rend();++it)//反向迭代器
        printf("%s%s",it==v.rbegin()?"":" ",it->c_str());
    return 0;
}

你可能感兴趣的:(PTA乙级)