给你一个字符串 s,由若干单词组成,单词前后用一些空格字符隔开。返回字符串中最后一个单词的长度。 单词是指仅由字母组成、不包含任何空格字符的最大子字符串。
时间: 2023-08-14 10:11:21 浏览: 141
可以按照以下步骤解决这个问题:
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
```
相关问题
给你一个字符串s,由若干单词组成,单词前后用一些空格字符隔开。返回字符串中最后一个单词的长度。
这个问题描述的是一个常见的编程问题,通常涉及到字符串处理和分割。假设我们有一个字符串 `s`,我们需要找到该字符串中最后出现的那个单词的长度。解决这个问题的基本步骤如下:
1. 首先,我们需要移除字符串 `s` 两端的空格,因为它们不属于任何一个单词。
2. 然后,我们可以使用 `split()` 函数,这个函数会根据空格将字符串分割成单词列表。默认情况下,它会在每个连续空格处分割。
3. 最后,取出列表中的最后一个元素,即为最后一个单词,使用 `len()` 函数获取其长度。
这里是一个简单的Python示例:
```python
def length_of_last_word(s):
s = s.strip() # 移除首尾空格
words = s.split() # 分割单词
if words: # 检查列表是否为空
return len(words[-1]) # 返回最后一个单词的长度
else:
return 0 # 如果没有单词,返回0
# 使用示例
input_str = "Hello world this is a test"
print(length_of_last_word(input_str)) # 输出:5
```
给你一个字符串 s,由若干单词组成,单词前后用一些空格字符隔开。 返回字符串中最后一个单词的长度。 单词是指仅由字母组成、不包含任何空格字符的最大子字符串。
这个问题描述的是一个编程任务,通常需要解决字符串处理的问题。给定一个字符串 `s`,你需要做的是:
1. 首先,你需要移除字符串两端多余的空格。
2. 然后,你可以通过遍历字符串从右到左,找到连续的非空格字符序列,这个序列就是单词的一部分。
3. 当遇到空格时,停止当前单词的查找,并开始记录新单词的起始位置。
4. 最后,当遍历完整个字符串后,你会找到最后一个完整的单词,返回它的长度。
如果你正在寻找一个简单的Python示例,可以这样做:
```python
def lengthOfLastWord(s):
# 移除首尾空格
s = s.strip()
# 找到最后一个单词的长度
last_word_index = len(s) - 1
while last_word_index >= 0 and s[last_word_index] == ' ':
last_word_index -= 1
return last_word_index + 1 if last_word_index >= 0 else 0
```
阅读全文