[leetcode]Longest Common Prefix
来源:互联网 发布:电脑编程入门教程 编辑:程序博客网 时间:2024/06/03 07:11
Longest Common Prefix
Write a function to find the longest common prefix string amongst an array of strings.
解题思路:两两一组进行求最长前缀,然后问题规模减小1/2,依次进行值到最后只剩下一个。
size_t cmpStr(string &str1, int len1, string &str2, int len2){ size_t i = 0; while(i < len1 && i < len2){ if(str1[i] != str2[i]) return i; i++; } return i; } string longestCommonPrefix(vector<string> &strs) { string str; int len = strs.size(); if(len == 0) return str; if(len == 1) return strs[0]; vector<int> vi; for(int i = 0; i < len; i++){ vi.push_back(strs[i].size()); } int l = 0, r = len - 1; int slen = len; while(slen > 1){ while(l <= r){ vi[l] = cmpStr(strs[l], vi[l], strs[r], vi[r]); l++; r--; } l = 0; if(slen & 1){ //长度为奇数 r = slen / 2; slen = r + 1; }else{ r = (slen - 1) / 2; slen /= 2; } } string retstr(strs[0], 0, vi[0]); return retstr; }
0 0
- LeetCode: Longest Common Prefix
- LeetCode Longest Common Prefix
- LeetCode : Longest Common Prefix
- [Leetcode] Longest Common Prefix
- [LeetCode] Longest Common Prefix
- [LeetCode]Longest Common Prefix
- LeetCode-Longest Common Prefix
- [LeetCode] Longest Common Prefix
- LeetCode - Longest Common Prefix
- leetcode Longest Common Prefix
- LeetCode | Longest Common Prefix
- Leetcode: Longest Common Prefix
- LeetCode: Longest Common Prefix
- 【LeetCode】Longest Common Prefix
- [LeetCode] Longest Common Prefix
- [LeetCode]Longest Common Prefix
- leetcode: Longest Common Prefix
- LeetCode Longest Common Prefix
- vc arcgis engine开发
- R包开发
- hibernate中实体类的id设置
- linux driver下的DELAY
- 'libxml/HTMLparser.h' not found
- [leetcode]Longest Common Prefix
- cmake to visual studio project
- 8.2
- TCP/IP协议复习-概述
- LINUX DRIVER DELAY FUCTION
- C++ 数组名与指针的区别与用法
- Linux内存管理
- 关于TreeSet的元素改变field后的删除
- Sizeof与Strlen的区别与联系