跳到主要内容

1816.截断句子

链接:1816.截断句子
难度:Easy
标签:数组、字符串
简介:给你一个句子 s​​​​​​ 和一个整数 k​​​​​​ ,请你将 s​​ 截断 ​,​​​ 使截断后的句子仅含 前 k​​​​​​ 个单词。返回 截断 s​​​​​​ 后得到的句子。

题解 1 - typescript

  • 编辑时间:2021-12-06
  • 执行用时:72ms
  • 内存消耗:39.2MB
  • 编程语言:typescript
  • 解法介绍:分割后重组。
function truncateSentence(s: string, k: number): string {
return s.split(' ').slice(0, k).join(' ');
}

题解 2 - typescript

  • 编辑时间:2021-12-06
  • 执行用时:72ms
  • 内存消耗:39.2MB
  • 编程语言:typescript
  • 解法介绍:遍历。
function truncateSentence(s: string, k: number): string {
for (let cnt = 0, i = 0; i < s.length; i++) {
if (s[i] === ' ') {
if (++cnt === k) return s.substring(0, i);
}
}
return s;
}

题解 3 - c

  • 编辑时间:2021-12-06
  • 执行用时:4ms
  • 内存消耗:6.1MB
  • 编程语言:c
  • 解法介绍:遍历。
char * truncateSentence(char * s, int k){
for (int cnt = 0, i = 0; i < strlen(s); i++) {
if (s[i] == ' ' && ++cnt == k) {
char *ans = (char *)calloc(i + 1, sizeof(char));
strncpy(ans, s, i);
return ans;
}
}
return s;
}