14. Longest Common Prefix

来源:互联网 发布:ubuntu 安装sqlserver 编辑:程序博客网 时间:2024/06/10 17:50

Problem:

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


Examples:

input: ["ab", "abc"], output: "ab"

input: [""], output: ""


这道题有几个坑,我一开始都踩进去了,就是我一开始是用迭代器去遍历,然后有一些案例是传进去null point,这样会导致iterator.end()报错。后来我直接用下标来遍历,就能解决问题。其中是初始化前缀string是第一个元素,然后从第二个元素开始遍历整个vector,逐个比较元素和前缀string里面的每个字母,直到不相等,然后把当前比较的结果作为前缀继续和下一个比较。


Code:

class Solution {public:    string longestCommonPrefix(vector<string>& strs) {        string s = "";        if (strs.size() > 0) {            s = strs[0];        }        for (int i = 1; i < strs.size(); i++) {            string temp1 = "";            for (int j = 0; j < s.length() || j < strs[i].length(); j++) {                if (s[j] == strs[i][j]) {                    temp1 += s[j];                } else {                    s = temp1;                    break;                }            }        }                return s;    }};


原创粉丝点击