[Leetcode] 14. Longest Common Prefix
来源:互联网 发布:windows刷mac os 编辑:程序博客网 时间:2024/05/22 09:45
Problem:
Write a function to find the longest common prefix string amongst an array of strings.
思路:
1. 纵向遍历法。遍历字符串list strs中,每个str的相同index。如果相同则继续,如果不同则跳出循环。遍历完了strs中i个str之后,index自增1,继续重新遍历。时间复杂度O(n)
2. 横向遍历法。在list strs中,两两遍历字符串str,找出他们最大的相同前缀。然后再以该前缀继续与下一个字符串str比较,找出其最大相同前缀,以此类推。时间复杂度O(n)
3. 分治法。把字符串list分成两半,用递归的方法分别求出两半的longest common prefix。时间复杂度O(n)
Solution:
# -*- coding: utf-8 -*-"""Created on Thu Feb 02 15:18:04 2017@author: liangsht"""class Solution(object): def longestCommonPrefix(self, strs): """ :type strs: List[str] :rtype: str """ i = 0 j = 0 slen = len(strs) s = "" if slen == 0: return s else: firstlen = len(strs[0]) while j < firstlen: if j >= len(strs[i]): break if i == 0: tmpstr = strs[0][j] if tmpstr != strs[i][j]: break i += 1 if i >= slen: i = 0 j += 1 s = s + tmpstr return s
0 0
- [leetcode] 14. Longest Common Prefix[leetcode] 14. Longest Common Prefix
- [LeetCode]14.Longest Common Prefix
- LeetCode 14. Longest Common Prefix
- LeetCode --- 14. Longest Common Prefix
- LeetCode 14.Longest Common Prefix
- [Leetcode] 14. Longest Common Prefix
- 【leetcode】14. longest common prefix
- [leetcode] 14.Longest Common Prefix
- [leetcode] 14. Longest Common Prefix
- LeetCode - 14. Longest Common Prefix
- Leetcode-14. Longest Common Prefix
- Leetcode 14. Longest Common Prefix
- 14. Longest Common Prefix LeetCode
- leetcode 14. Longest Common Prefix
- leetcode 14. Longest Common Prefix
- leetcode 14. Longest Common Prefix
- LeetCode--14. Longest Common Prefix
- Leetcode 14. Longest Common Prefix
- sysfs接口说明
- html,shtml和htm的区别
- 求数列s(n)=s(n-1)+s(n-2)的第n项的值。其中s(1)=s(2)=1。要求任意给定n,输出s(n)
- 安装pyenv install时指定enable-shared
- 第13天(就业班) jsp内置对象、out对象、域对象、el表达式、jsp标签库
- [Leetcode] 14. Longest Common Prefix
- 从一个实例中学习DTW算法
- 在三位整数(100至999)中寻找符合条件的整数并依次从小到大存入数组中;他既是完全平方数,又是两位数字相同,例如144,676等
- QQ机器人{线程应用篇}
- quagga源码学习--BGP协议对等体连接tcp md5签名认证选项
- 深入了解R语言-S4
- 1072.Gas Station (30)
- jQuery--文档处理
- windows api创建定时器模板