一次刷题的记录
刷题的时候,遇到这样一道题。
给你一个句子 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;
}

浙公网安备 33010602011771号