编程在一个已知的字符串中查找最长单词,假定字符串中只含字母和空格,空格用来分隔不同单词。 输出找到的最长的单词及其长度
时间: 2023-06-05 19:47:35 浏览: 251
题目描述:在一个已知的字符串中查找最长单词,假定字符串中只包含字母和空格,空格用来分隔不同的单词。输出找到的最长的单词及其长度。
解题思路:从头到尾遍历字符串,记录当前扫描到的单词的起始位置和长度,同时记录最长的单词的位置和长度,最终输出最长的单词和其长度即可。空格用来分隔不同的单词,因此每次扫描到空格时,需要更新当前扫描到的单词的起始位置和长度。
示例代码:
```python
string = "Hello world, this is a test"
start = 0 # 当前单词的起始位置
max_start = 0 # 最长单词的起始位置
length = 0 # 当前单词的长度
max_length = 0 # 最长单词的长度
for i in range(len(string)):
if string[i] == ' ': # 扫描到空格,更新单词的起始位置和长度
start = i + 1 # 下一个单词的起始位置为当前位置的下一个位置
length = 0 # 重置当前单词的长度
else:
length += 1 # 统计当前单词的长度
if length > max_length: # 如果当前单词比最长单词长,更新最长单词的起始位置和长度
max_start = start
max_length = length
print(string[max_start:max_start+max_length], max_length) # 输出最长单词及其长度
```
阅读全文