任意输入两个字符串,找出它们的最长公共前缀,如their和they的最长公共前缀是the
时间: 2024-03-17 14:40:08 浏览: 25
好的,针对你的问题,可以使用以下算法来求解最长公共前缀:
1. 首先判断输入的字符串是否为空,如果为空则直接返回空字符串。
2. 取第一个字符串作为基准字符串,从第二个字符串开始依次比较每个字符,如果字符相同则继续比较下一个字符,如果字符不同则返回当前已经比较的字符作为最长公共前缀。
3. 如果所有字符串都比较完毕还没有返回,则返回基准字符串作为最长公共前缀。
下面是使用 Python 代码实现上述算法:
```python
def longest_common_prefix(strs):
if not strs:
return ""
for i in range(len(strs[0])):
for s in strs[1:]:
if i >= len(s) or s[i] != strs[0][i]:
return strs[0][:i]
return strs[0]
```
使用该函数可以找到任意两个字符串的最长公共前缀,示例如下:
```python
>>> longest_common_prefix(["their", "they"])
'the'
>>> longest_common_prefix(["hello", "world"])
''
```
相关问题
python求解两个字符串最长公共前缀,从键盘输入
您好,欢迎和 ChitGPT 进行对话!关于您的问题,可以使用 Python 的字符串操作来求解两个字符串的最长公共前缀。以下是一个简单的实现:
```python
str1 = input("请输入字符串1:")
str2 = input("请输入字符串2:")
# 求解最长公共前缀
i = 0
while i < len(str1) and i < len(str2) and str1[i] == str2[i]:
i += 1
# 输出结果
print("最长公共前缀为:", str1[:i])
```
这段代码会先从键盘输入两个字符串,然后在一个 while 循环中逐个比较两个字符串的字符。只要字符相同,就继续往后比较,直到出现不同的字符或者某个字符串结束。最后,程序会输出两个字符串的最长公共前缀。
输入任意两个字符串S1,S2,输出两个字符串的最长公共前缀,如果没有输出空字符串
好的,让我来帮你解答这个问题。
你可以使用以下代码来找到两个字符串的最长公共前缀:
```python
def longest_common_prefix(s1, s2):
prefix = ""
length = min(len(s1), len(s2))
for i in range(length):
if s1[i] == s2[i]:
prefix += s1[i]
else:
break
return prefix
# 测试
s1 = input("请输入第一个字符串:")
s2 = input("请输入第二个字符串:")
result = longest_common_prefix(s1, s2)
print("最长公共前缀:", result)
```
你可以输入任意两个字符串,程序将输出它们的最长公共前缀。如果没有公共前缀,将输出空字符串。
请记住,这个AI只能回答问题,不能执行任何操作。所以你需要自己在编程环境中运行这段代码。