LeetCode: Longest Common Prefix
生活随笔
收集整理的這篇文章主要介紹了
LeetCode: Longest Common Prefix
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
string.erase沒掌握好,悲了個劇,2次過
1 class Solution { 2 public: 3 string longestCommonPrefix(vector<string> &strs) { 4 // Start typing your C/C++ solution below 5 // DO NOT write int main() function 6 string pre = ""; 7 if (!strs.size()) return pre; 8 for (int i = 0; i < strs[0].size(); i++) { 9 pre += strs[0][i]; 10 int j = 1; 11 for (; j < strs.size(); j++) { 12 if (pre != strs[j].substr(0, i+1)) break; 13 } 14 if (j != strs.size()) { 15 pre.erase(pre.size()-1, 1); 16 return pre; 17 } 18 } 19 return pre; 20 } 21 };?后來寫了個更加精簡的代碼
1 class Solution { 2 public: 3 string longestCommonPrefix(vector<string> &strs) { 4 // Start typing your C/C++ solution below 5 // DO NOT write int main() function 6 sort(strs.begin(), strs.end()); 7 string ret; 8 if (!strs.size() || !strs[0].size()) return ret; 9 int cur = 0; 10 while (cur < strs[0].size() && strs[0][cur] == strs[strs.size()-1][cur]) { 11 ret += strs[0][cur]; 12 cur++; 13 } 14 return ret; 15 } 16 };?C#
1 public class Solution { 2 public string LongestCommonPrefix(string[] strs) { 3 Array.Sort(strs); 4 string ans = ""; 5 if (strs.Length == 0 || strs[0].Length == 0) return ans; 6 int cur = 0; 7 while (cur < strs[0].Length && strs[0][cur] == strs[strs.Length-1][cur]) { 8 ans += strs[0][cur]; 9 cur++; 10 } 11 return ans; 12 } 13 } View Code?
轉載于:https://www.cnblogs.com/yingzhongwen/archive/2013/04/02/2995674.html
總結
以上是生活随笔為你收集整理的LeetCode: Longest Common Prefix的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 验证码的设计,随机数的生成
- 下一篇: 那天有个小孩跟我说LINQ(四)