leetcode - Longest Common Prefix
leetcode - Longest Common Prefix
Q:
Write a function to find the longest common prefix string amongst an array of strings.
1 class Solution { 2 public: 3 string longestCommonPrefix(vector<string>& strs) { 4 int size = strs.size(); 5 int j=0; 6 string result; 7 bool flag = 1; 8 if(size==1) return strs[0]; 9 if(size>1){ 10 while(flag){ 11 for(int i = 1; i < size; i++ ){ 12 if (strs[i].size()==0){return result;} 13 else if ( ((j+1)>strs[i].size()) || ((j+1)>strs[0].size()) || (strs[i][j] != strs[0][j])){ 14 flag = 0;} 15 } 16 if(flag==1) j++; 17 } 18 for(int k=0; k<j; k++) 19 result.push_back(strs[0][k]); 20 } 21 return result; 22 } 23 };
我的思路:
从第一个字符开始依次比较每个string,如果均相同则比较下一个,同时计数j加1,直到遇到不同字符。打印出第一个string的前j个字符。