题解 | 字符串最后一个单词的长度
字符串最后一个单词的长度
https://www.nowcoder.com/practice/8c949ea5f36f422594b306a2300315da
问题描述
给定一个由若干个单词组成的句子,每个单词由大小写字母混合构成,单词之间用单个空格分隔。要求输出最后一个单词的长度。
输入描述:
在一行上输入若干个字符串(单词),每个单词非空且仅由大小写字母构成,总字符数不超过 1000。
输出描述:
输出一个整数,表示最后一个单词的长度。
示例:
输入:Hello World
输出:5
(因为最后一个单词是 "World"
,长度为 5)
解题思路
要解决这个问题,我们可以按照以下步骤进行:
- 读取输入:获取用户输入的字符串。
- 分割单词:按空格将句子拆分成单词列表。
- 获取最后一个单词:取列表的最后一个元素。
- 计算长度:返回该单词的长度。
方法实现(Python)
python
import sys #获取输入的字符串数组,以空格分隔 arr = input().split() #获取数组最后一个元素,用内置函数len获取元素长度 print(len(arr[-1]))
代码解析
- input().strip():读取输入并去除首尾可能存在的多余空格。
- split():默认按空格分割字符串,返回单词列表。
- words[-1]:Python 中 -1 表示列表的最后一个元素。
- len(last_word):计算最后一个单词的字符数。
复杂度分析
- 时间复杂度:O(n),其中 n 是输入字符串的长度。split() 需要遍历整个字符串。
- 空间复杂度:O(n),存储单词列表需要额外空间。
边界情况考虑
- 只有一个单词:如输入 "Python",输出 6。
- 多个连续空格:虽然题目保证单词间是单个空格,但 split() 会自动处理多余空格。
- 全大写或全小写单词:如 "HELLO" 或 "world",不影响计算。
总结
本题考察字符串的基本操作,关键在于正确分割单词并获取最后一个单词的长度。Python 的 split()
方法非常适合处理这种情况,代码简洁高效。
PS:每天都要开开心心哦~~~