C++, O(n)(max_len) time and O(1) space


#1
string Solution::longestCommonPrefix(vector<string> &A) {
    int len1=A[0].size();
    for(int i=1;i<A.size();i++)
    {
        int j=0;
        while(A[0][j]==A[i][j])
        {
            j++;
        }
        j=j-1;
        if(j<0) return "";
        len1=min(len1,j+1);
    }
    
    return A[0].substr(0,len1);
    
}