在一行中输入以空格间隔的若干以字母数字字符组成的字符串(字符串之间不包含其他字符)。 定义一个函数,找出这些字符串的最长的共有前缀并输出。如果不存在共有前缀,输出"NOT FOUND"。 样例输入: water waiter watt 样例输出: wa
时间: 2024-03-20 22:39:57 浏览: 124
这是一个比较简单的字符串处理问题,可以用 Python 实现:
```python
def find_prefix(strings):
if not strings:
return "NOT FOUND"
prefix = ""
for chars in zip(*strings):
if len(set(chars)) == 1:
prefix += chars[0]
else:
break
else:
return prefix
return "NOT FOUND"
input_str = input()
strings = input_str.split()
print(find_prefix(strings))
```
这个函数的实现思路是:先将输入的字符串按空格分隔成一个字符串列表 `strings`,然后对于字符串列表中的每个字符串,依次比较它们的前缀字符是否相同,直到找到第一个不同的字符为止,这个过程中每次找到相同的字符都将其加入到 `prefix` 变量中。如果最后 `prefix` 不为空,说明找到了共有前缀,返回 `prefix`,否则返回 "NOT FOUND"。
相关问题
在一行中输入以空格间隔的若干以字母数字字符组成的字符串(字符串之间不包含其他字符) 定义一个函数,找出这些字符串的最长的共有前缀并输出 如果不存在共有前缀,输出‘NOT FOUND’ 示例 输入:water waiter watt 输出:wa 平均代码量 14 行
以下是实现代码:
```python
data = input().split()
def find_longest_common_prefix(data):
if not data:
return ""
else:
prefix = data[0]
for i in range(1, len(data)):
while not data[i].startswith(prefix):
prefix = prefix[:-1]
if not prefix:
return "NOT FOUND"
return prefix
prefix = find_longest_common_prefix(data)
print(prefix)
```
首先将输入的字符串列表传递给函数 `find_longest_common_prefix`,在函数内部定义前缀变量 `prefix`,初始值为第一个字符串。然后遍历字符串列表,对于每个字符串,通过循环缩短前缀变量 `prefix` 直到其成为该字符串的前缀。如果前缀变量 `prefix` 缩短到空字符串,则说明不存在共有前缀,返回 "NOT FOUND"。最后输出共有前缀变量 `prefix` 即可。
、在一行中输入以空格间隔的若干以字母数字字符组成的字符串(字符串之间不包含其他字符)。 定义一个函数,找出这些字符串的最长的共有前缀并输出。如果不存在共有前缀,输出"NOT FOUND"。 样例输入: water waiter watt 样例输出: wa 编写这个程序
可以使用 Python 语言实现,具体代码如下:
```python
def find_common_prefix(strs):
if not strs:
return "NOT FOUND"
common_prefix = ""
for i in range(len(strs[0])):
curr_char = strs[0][i]
for j in range(1, len(strs)):
if i >= len(strs[j]) or strs[j][i] != curr_char:
return common_prefix
common_prefix += curr_char
return common_prefix
input_str = input("输入字符串:").strip()
strs = input_str.split()
print("输出共有前缀:", find_common_prefix(strs))
```
这个程序定义了一个 `find_common_prefix` 函数,该函数接收一个字符串列表作为参数,返回这些字符串的最长的共有前缀。
具体实现方法是,先将第一个字符串设为共有前缀,然后逐个字符地比较其他字符串与该前缀是否匹配,如果匹配则继续比较下一个字符,不匹配则返回当前的前缀。最后返回最长的共有前缀。
最后,程序读入一行字符串,将其分割成字符串列表,然后调用 `find_common_prefix` 函数求解并输出结果。
阅读全文