[Leetcode] -- Longest Common Prefix

題目鏈接

分析:題目意思很簡單,就是找到所有string的最長相同前綴,需要注意的是處理結果這一塊。

用stringstream存答案(爲什麼用stringstream,因爲string不可變哇!!我一開始忘記了,而且函數返回就是string,所以就被帶偏了。。),最後再把它轉成string返回。

這裏還要注意一點,就是當函數輸入的vector爲空時,需要返回空串,而且這個要單獨處理,否則就會發生RE,錯誤提示如下:
runtime error: reference binding to null pointer of type 'struct value_type' (stl_vector.h)

 

下面上代碼,感覺可以用其他方法能更快。。。

class Solution {
public:
    string longestCommonPrefix(vector<string>& v) {
        stringstream res;
        string ans;
        if(v.empty())
            return "";
        int flag;
        for(int i=0;v[0][i]!='\0';i++)
        {
            flag=1;
            for(int j=1;j<v.size();j++)
            {
                if(v[j][i]!=v[0][i])
                {
                    flag=0;
                    break;
                }
            }
            if(flag==0)
                break;
            else
                res.put(v[0][i]);

        }
        res.put('\0');
        res>>ans;
        return ans;
    }
};//Runtime: 8ms, Memory Usage: 8.9 MB

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章