题解 | #单词倒排#

单词倒排

http://www.nowcoder.com/practice/81544a4989df4109b33c2d65037c5836

#include <algorithm>
#include <string>
#include <vector>
#include <cmath>
//对字符串中的所有单词进行倒排。说明:
//1、构成单词的字符只有26个大写或小写英文字母;
//2、非构成单词的字符均视为单词间隔符;
//3、要求倒排后的单词间隔符以一个空格表示;如果原字符串中相邻单词间有多个间隔符时,倒排转换后也只允许出现一个空格间隔符;
//4、每个单词最长20个字母;
using namespace std;
int main()
{
    string str,ans,out0;
    //getline(cin,str);
    while(cin>>str)
    {
//         int len1 = str.length();
//         for(int j=0;j<len1;j++)
//         {
//             if(!isalpha(str[j]))
//             {
//                 str[j] = ' ';
//             }
//         }
        ans = str+" "+ans; 
        //reverse(str.begin(),str.end());
        int len = ans.length();
        for(int i=0; i<len; i++)
        {
            if(isalpha(ans[i]))
            {
                ans[i] = ans[i];
            }
            else{
                if(ans[i] != ' ' && i!= 0)
                {
                    ans[i] = ' ';
                }
            }
            
//             if(isalpha(ans[i]) || ans[i] == ' ')
//                 out0 = ans[i];
        }
    }
    cout<<ans<<endl;
    return 0;
}
//用例输入
//$bo*y gi!r#l
//预期输出
//l r gi y bo
//实际输出
//gi r l  bo y 
全部评论

相关推荐

大方的大熊猫准备进厂:1.教育背景:你希望从事什么专业的工作你的主修课就是什么;成绩优秀是你应该做的,没什么可描述的,成绩不优秀也许人家在大学忙着创业呢?(成绩优秀不一定是好事,只能说明多元化的大学你上成了高中,没有真正上明白大学,反而体现了你死板,不爱社交,没有别的突出能力) 2.实践经历:你想表达的意思没有说清楚。你是说你会个性化服务,还是你有实习经历。如果没有带来,经济收益,表彰,更好的发展前景,那你还不如说说提升了自己哪些技能。你说有人给你送锦旗我都能明白你优秀,但是你说你会xxxx,你说这话谁信,证据呢。 3.入伍经历:你描述的就是你的工作职责或者你应该做的,并没有体现出来你把这个事情做好了,而且入伍经历并不能证明你能干好你要应聘的工作,不如只写经历其余所有内容都不写。 4.荣誉技能:重点突出一下,但不要过多描述,这些荣誉的含金量懂得都懂。 重点:你要应聘什么工作(具体岗位,实习生不具体),你的期望薪资
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务