您的位置:首页 > 其它

longest-common-prefix

2015-09-11 09:40 316 查看
【题目描述】


Write a function to find the longest common prefix string amongst an array of strings.

【思路】

水题一道,没什么难点,但是在一个地方wa了好几次,没有考虑到如果在比较中prefix较上一次没有变化的话应该pos为前缀长度的,没有事先给pos赋好初值。

ps:

1、substr(0,s)//表示从开头开始的长度为s的子串

【代码】

class Solution {
public:
    string longestCommonPrefix(vector<string>& strs) {
        if(strs.size()==0) return "";
        int n=strs.size();
        string prefix=strs[0];
        for(int i=1;i<n;i++){
            if(strs[i].length()==0||prefix.length()==0) return "";
            int len = prefix.length() < strs[i].length() ? prefix.length() : strs[i].length();  
            int pos=len;//就是在这里wa了好几次!!!
            for(int j=0;j<len;j++){
                if(prefix[j]!=strs[i][j]){
                  pos=j;
                  break;
                }
            }
            prefix=prefix.substr(0,pos);
        }
        return prefix;
    }
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: