python查找公共前缀_Python实现查找字符串数组最长公共前缀示例
本文實例講述了Python實現查找字符串數組最長公共前綴。分享給大家供大家參考,具體如下:
編寫一個函數來查找字符串數組中的最長公共前綴。 class Solution:
def longestCommonPrefix(self, strs):
"""
:type strs: List[str]
:rtype: str
"""
olds = ''
rs=''
if not strs:
return ''
if len(strs)==1:
return strs[0]
over = False
print("strs_len:", len(strs))
i=0 # 單個字符的索引
while True:
j=0 # strs中字符串的索引
while j < len(strs)-1:
if not strs[j] or not strs[j+1]:# 若是空串
break
#print("s1:",len(strs[j]), " s2:", len(strs[j+1]))
if i >= len(strs[j]): # 如果一個子串比較完了,則結束循環
over = True
break
elif i >= len(strs[j+1]):
j+=1
over = True
break
else:
over = False
#print("j:",j,"i: ",i)
if strs[j][i] != strs[j+1][i]:
break
j+=1
#print("j2:",j)
if not over and j!=(len(strs)-1): # 如果沒有比較到最后,說明前面出現了不相等的子串
break
#print("j:",j,"i: ",i)
if over: # 如果一個子串已經比較結束,結束循環
rs=strs[j]
break
i+=1
rs=strs[0][:i]
print("rs:",rs)
return rs
我實現的方法,相當笨,后來通過測試后,我發現原來系統中有現成的接口是現實這個功能,如下: os.path.commonprefix(list)
返回list中,所有元素共有的最長的前綴
更多關于Python相關內容感興趣的讀者可查看本站專題:《Python數據結構與算法教程》、《Python列表(list)操作技巧總結》、《Python編碼操作技巧總結》、《Python函數使用技巧總結》、《Python字符串操作技巧匯總》及《Python入門與進階經典教程》
希望本文所述對大家Python程序設計有所幫助。
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的python查找公共前缀_Python实现查找字符串数组最长公共前缀示例的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 广发银行信用卡生日有什么优惠
- 下一篇: 银行理财子公司产品怎么挑选,理财产品挑选