给你一个字符串 s,由若干单词组成,单词前后用一些空格字符隔开。返回字符串中最后一个单词的长度。 单词是指仅由字母组成、不包含任何空格字符的最大子字符串。
时间: 2023-08-14 19:11:21 浏览: 75
可以按照以下步骤解决这个问题:
1. 首先,去掉字符串末尾的空格字符,因为最后一个单词后面不会有空格字符。
2. 然后,从字符串末尾开始向前遍历,找到第一个空格字符的位置。这个位置后面的字符串就是最后一个单词。
3. 最后,计算最后一个单词的长度并返回。
可以使用 Python 实现上述算法,代码如下:
```python
def lengthOfLastWord(s: str) -> int:
# 去掉末尾空格
s = s.rstrip()
# 从后往前找第一个空格
i = len(s) - 1
while i >= 0 and s[i] != ' ':
i -= 1
# 计算最后一个单词的长度
return len(s) - 1 - i if i >= 0 else len(s)
```
测试一下:
```python
s = "Hello World"
print(lengthOfLastWord(s)) # 输出 5,因为最后一个单词是 World,长度为 5
s = " fly me to the moon "
print(lengthOfLastWord(s)) # 输出 4,因为最后一个单词是 moon,长度为 4
s = "luffy is still joyboy"
print(lengthOfLastWord(s)) # 输出 6,因为最后一个单词是 joyboy,长度为 6
```
相关问题
java给定字符串s,由若干单词组成,单词前后用一些字符串隔开 //返回字符串中最后一个单词的长度。
好的,这个问题我可以回答。可以通过以下代码实现:
```java
public int lengthOfLastWord(String s) {
String[] words = s.split(" ");
if(words.length == 0)
return 0;
else
return words[words.length-1].length();
}
```
这个方法先把字符串按照空格划分成一个单词数组,并判断数组长度。如果数组为空,则说明字符串中没有单词,返回0;否则返回数组中最后一个单词的长度。
给你一个字符串 s,由若干单词组成,单词前后用一些空格字符隔开。返回字符串中 最后一个 单词的长度。 单词 是指仅由字母组成、不包含任何空格字符的最大 子字符串 。 java
要返回字符串中最后一个单词的长度,可以按照以下骤进行操作:
1. 首先,使用trim()函数去除字符串两端的空格,确保字符串没有前导或尾随空格。
2. 然后,使用split()函数将字符串按照空格进行分割,得到一个字符串数组。
3. 判断字符串数组的长度是否大于0,如果大于0,则最后一个单词的长度就是数组中最后一个元素的长度;如果等于0,则说明字符串中没有单词,返回0即可。
下面是Java代码的实现:
```java
public int lengthOfLastWord(String s) {
// 去除字符串两端的空格
s = s.trim();
// 分割字符串
String[] words = s.split(" ");
// 判断数组长度
if (words.length > 0) {
// 返回最后一个单词的长度
return words[words.length - 1].length();
} else {
// 字符串中没有单词,返回0
return 0;
}
}
```