开发者社区 问答 正文

反转数组

要求

input: I am a student
output: student a am I
输入是数组 输出也是数组
不允许用 split splice reverse

展开
收起
kun坤 2019-11-28 15:00:43 422 分享 版权
1 条回答
写回答
取消 提交回答
  • 解法一

    function reverseArry(arry) {
      const str = arry.join(" ");
      const result = [];
      let word = "";
      for (let i = 0, len = str.length; i < len; i++) {
        if (str[i] != " ") {
          word += str[i];
        } else {
          result.unshift(word);
          word = "";
        }
      }
    
      result.unshift(word);
      return result;
    }
    
    console.log(reverseArry(["I", "am", "a", "student"]));
    // ["student", "a", "am", "I"]
    

    解法二

    function reverseArry(arry) {
      const result = [];
      const distance = arry.length - 1;
      for (let i = distance; i >= 0; i--) {
        result[distance - i] = arry[i];
      }
    
      return result;
    }
    
    
    2019-11-28 15:01:20
    赞同 展开评论
问答地址: