文巾解题 14. 最长公共前缀
生活随笔
收集整理的這篇文章主要介紹了
文巾解题 14. 最长公共前缀
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1 題目描述
2 解題思路
2.1 排序后首尾的最大公共序列
首尾元素公共的部分,夾在他們中間的其他元素肯定也由這些公共前綴。3
class Solution:def longestCommonPrefix(self, strs: List[str]) -> str:if(len(strs)==0):return("")strs.sort() #按照字典序排序a=strs[0]b=strs[len(strs)-1] #排序后的第一個和最后一個i=0;res=""for i in range(len(a)):if(i<len(b) and a[i]==b[i]):res=res+a[i]else:break #第一個和最后一個的公共部分return(res)2.2 巧用zip?
zip知識點見zip與zip(*)_劉文巾的博客-CSDN博客
我們用zip(*str)就可以將strs中每一項的每一位匯總起來。
class Solution:def longestCommonPrefix(self, strs: List[str]) -> str:if(len(strs)==0):return("")k=zip(*strs) #每一項的每一位匯總起來temp=""for i in k:tmp=set(i)if(len(tmp)==1):temp=temp+i[0] #這一位所有項值是一樣的else:break #這一位所有項值已經有不一樣的了——公共前綴到此為止return(temp)?
總結
以上是生活随笔為你收集整理的文巾解题 14. 最长公共前缀的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: zip与zip(*)
- 下一篇: 文巾解题 15. 三数之和