美文网首页
剑指offer 某-翻转单词顺序列

剑指offer 某-翻转单词顺序列

作者: 千千鱼 | 来源:发表于2018-05-12 09:59 被阅读0次
  • 此题还算简单,但是总有更好的思路。第一反应是先翻转每个单词,再翻转每个句子。但是觉得翻转函数要自己写太麻烦了。(原谅我总是忘记标准库中的各种实现,algorithm库中的reverse函数应该直接可以用)

  • 第二个思路也简单,但是需要开辟额外的空间,就是把每个单词存在vector的一个string元素中,然后从后向前打印vector元素。代码如下:

class Solution {
public:
    string ReverseSentence(string str) {
        int n=str.length();
        if(n==0||n==1)
            return str;
        int temp=0;
        vector<string> vec;
        for(int i=0;i<n;i++){
            if(str[i]==' '){
                vec.push_back(str.substr(temp,i-temp));
                temp=i+1;
            }
            
        }
        vec.push_back(str.substr(temp,n-temp));
        str.clear();
        for(int i=vec.size()-1;i>=0;--i){
            str+=vec[i];
            if(i!=0)
                str+=' ';
        }
        return str;
    }
};
  • 需要注意的点: 输出的时候要记得添加空格!倒叙索引是从n-1开始的!

相关文章

  • 剑指offer 某-翻转单词顺序列

    此题还算简单,但是总有更好的思路。第一反应是先翻转每个单词,再翻转每个句子。但是觉得翻转函数要自己写太麻烦了。(原...

  • [剑指offer] 翻转单词顺序列

    本文首发于我的个人博客:尾尾部落 题目描述 牛客最近来了一个新员工Fish,每天早晨总是会拿着一本英文杂志,写些句...

  • 剑指offer_翻转单词序列

    题目描述 牛客最近来了一个新员工Fish,每天早晨总是会拿着一本英文杂志,写些句子在本子上。同事Cat对Fish写...

  • 剑指offer编程题—翻转单词序列

    题目描述牛客最近来了一个新员工Fish,每天早晨总是会拿着一本英文杂志,写些句子在本子上。同事Cat对Fish写的...

  • 剑指 offer 笔记 44 | 翻转单词顺序列

    题目描述牛客最近来了一个新员工Fish,每天早晨总是会拿着一本英文杂志,写些句子在本子上。同事Cat对Fish写的...

  • 剑指offer | 翻转单词顺序

    翻转单词顺序 输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变,为简单起见,标点符号和普通字母一样处...

  • 【剑指 offer】翻转单词顺序。

    1、题目描述 输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变。 为简单起见,标点符号和普通字母一样...

  • 每日一练(31):翻转单词顺序

    title: 每日一练(31):翻转单词顺序 categories:[剑指offer] tags:[每日一练] d...

  • 【剑指Offer 42】翻转单词顺序

    题目:输入一个英文句子,翻转句子中单词的顺序,但单词内字啊的顺序不变。为简单起见,标点符号和普通字母一样处理。 代...

  • 剑指Offer--翻转单词顺序

    题目描述:牛客最近来了一个新员工Fish,每天早晨总是会拿着一本英文杂志,写些句子在本子上。同事Cat对Fish写...

网友评论

      本文标题:剑指offer 某-翻转单词顺序列

      本文链接:https://www.haomeiwen.com/subject/rwecdftx.html