最后一个单词的长度
题目
给你一个字符串 s
, 由若干单词组成, 单词之间用空格隔开. 返回字符串中最后一个单词的长度. 如果不存在最后一个单词, 请返回 0
. 单词是指仅由字母组成, 不包含任何空格字符的最大子字符串.
提示:
1 <= s.length <= 10⁴
s
仅有英文字母和空格' '
组成s
中至少存在一个单词
示例
输入: s = 'Hello World'
输出: 5
输入: s = ' '
输出: 0
题解
- JavaScript
- Rust
思路比较简单, 从后往前遍历, 如果没遇见空格, 就让 count++
; 如果遇见了空格, 还要判断 count
是否大于 0
,
因为既然是单词, 至少得有一个字母. 如果满足, 就可以跳出循环了.
var lengthOfLastWord = function (s) {
const n = s.length
let count = 0
for (let i = n - 1; i >= 0; i -= 1) {
if (s[i] === ' ') {
if (count !== 0) {
break
}
} else {
count++
}
}
return count
}
pub fn length_of_last_word(s: String) -> i32 {
let mut count = 0;
for ch in s.chars().rev() {
if ch == ' ' {
if count != 0 {
break;
}
} else {
count += 1;
}
}
count
}