美文网首页
翻转单词顺序

翻转单词顺序

作者: hades2013 | 来源:发表于2018-09-29 17:34 被阅读0次

牛客最近来了一个新员工Fish,每天早晨总是会拿着一本英文杂志,写些句子在本子上。同事Cat对Fish写的内容颇感兴趣,有一天他向Fish借来翻看,但却读不懂它的意思。例如,“student. a am I”。后来才意识到,这家伙原来把句子单词的顺序翻转了,正确的句子应该是“I am a student.”。Cat对一一的翻转这些单词顺序可不在行,你能帮助他么?

方法一:

class Solution {
public:
    string ReverseSentence(string str) {
       int len = str.size();
       int start = 0;
       for(int i = 0; i < len; i ++)
      {
         if(str[i] == ' ')
         {
             reverse(str.begin()+start, str.begin()+i);
             start = i+1;
         }
         if(i == len-1)
         {
             reverse(str.begin()+start, str.end());
         }
      }
      reverse(str.begin(), str.end());
      return str;
    }
};

方法二:

class Solution {
public:
    string ReverseSentence(string str) {
        auto size = str.size();
        if(size == 0) return "";
        int mark=0;
        str += ' ';
        for(int i = 0; i < size+1; ++i){
            if(str[i] == ' '){
                ReverseWord(str, mark, i-1);
                mark = i+1;
            }
        }
        str = str.substr(0, size);
        ReverseWord(str, 0, size-1);
        return str;
    }
    void ReverseWord (string &str, int l, int r){
        while(l < r){
            swap(str[l], str[r]);
            ++l;
            --r;
        }
    }
};

相关文章

  • 面试题58(剑指offer)--翻转字符串

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

  • 面试题58 - I. 翻转单词顺序

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

  • 翻转字符串

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

  • 翻转字符串

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

  • 翻转单词顺序

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

  • 翻转单词顺序

    对cpp还是不熟啊,尤其是char, char*, char[]这块。 上边s1 是不能被修改的,s2可被修改。

  • 翻转单词顺序

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

  • 翻转单词顺序

  • 面试题58(1):翻转字符串

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

  • 剑指Offer Java版 面试题58:翻转字符串

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

网友评论

      本文标题:翻转单词顺序

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