一次刷题的记录

刷题的时候,遇到这样一道题。
给你一个句子 s​​​​​​ 和一个整数 k​​​​​​ ,请你将 s​​ 截断 ​,​​​使截断后的句子仅含 前 k​​​​​​ 个单词。返回 截断 s​​​​​​ 后得到的句子。
输入:s = "Hello how are you Contestant", k = 4 输出:"Hello how are you"
看到这个题,我最开始想到就是php的函数explode,字符串转数组,然后再拼接就完成了。
后面发现其实还有更加简单的方法,代码的执行效率也会更高。
代码如下

function truncateSentence($s, $k) {
    $count = strlen($s);
    $num = 0;
    $res = "";
    for($i = 0;$i <= $count; $i++){
        if($i == $count || $s[$i] == ' ' ){
            $num++;
            if($num == $k){
               $res = substr($s, 0, $i);
                break;
            }
        }
    }
    return $res;
}
posted @ 2021-12-07 23:41  西域海棠  阅读(38)  评论(0)    收藏  举报