题目描述:

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

解题思路:

  • 注意这道题是将单词翻转而不是将字母翻转,所以我们以空格将其划分为数组
  • 至于如何翻转数组就容易起来了,我们可以使用数组的reverse方法,也可以遍历数组取出其中的元素累加

解题代码:

  • 法一:

    1. function ReverseSentence(str)
    2. {
    3. // write code here
    4. return str.split(' ').reverse().join(' ');
    5. }
  • 法二:

    function ReverseSentence(str)
    {
      // write code here
      let arr = str.split(' ');
      let res = '';
      for(let i = 0;i<arr.length;i++) {
          // 注意我们的字符串一开始是空的,当我们加上一个空格后其最后累加的结果最后一位为空我们要将其去掉
          res = arr[i] + ' ' + res; 
      }
      return res.slice(0,res.length - 1);
    }