将句子排序 | Java刷题打卡

213 阅读1分钟

本文正在参加「Java主题月 - Java 刷题打卡」,详情查看 活动链接

一、题目描述:

image.png

二、思路分析:

今天给大家分享的是一道easy的题目。(主要是最近力扣官网的每日一题已经连着四天是hard了,顶不住了)。题目的意思很简单,给你一个句子,使用空格分隔,首尾不含空格,打乱所有单词,并在每个单词后面添加一个单词在原来句子的索引(从1开始)。给你一个打乱后的句子,返回打乱之前的句子。

直接搞

  • 没啥特别的,直接弄就行。
  • 首先把给定的句子按空格分隔 打散到数组中
  • 然后挨个遍历数组中的单词,得到当前的单词和她在原始句子中的位置
  • 因为单词长度最多有9个,所以声明一个长度为9的数组,直接把上面得到的索引和单词 放到正确的位置即可
  • 最后把数组中的单词按照空格连接起来就得到了句子。注意去下首尾的空格。

三、AC 代码:

image.png

//直接弄
function sortSentence($s) {
        $arr = explode(" ", $s);
        //var_dump($arr);
        $ret = array_fill(0, 9, "");
        foreach ($arr as $key => $word) {
            $postFix = $word[strlen($word) - 1];
            $ret[$postFix] = substr($word, 0, strlen($word) - 1);
        }

        return trim(join(" ", $ret));
    }

四、总结:

做到easy题目缓解一下紧张的心态~