【原来LeetCode不会自动保存code的啊】code 记事本

Matthewow2019-03-14 16:00:50

14Longest Common Prefix


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

If there is no common prefix, return an empty string "".

其实这个问题是非常非常简单的,没有什么技巧,暴力遍历查找即可。两个变量横纵跑两遍,我起初犯了一个很傻的错误,就是没有在检查出不同的时候return,而用boolean check以后在末端return,这样的话如果Array里的elements都是相同的,那么我最后用于控制return string长度的变量就不准确了,需要分情况讨论了。(所以boolean是用不到的,留在这里提醒自己吧!


我的解:

class Solution {

public:

    string longestCommonPrefix(vector<string>& strs) {

        if(strs.empty())

            return "";

        int k = strs.size();

        if(k == 1)

            return strs[0];

        bool check = true;

        int i;

        for(i = 0; check && i < strs[0].size(); i++){// For the strings

            for (int j = 0; j < strs.size(); j++){//For the elements

                if (strs[j][i] != strs[0][i]) 

                    return strs[0].substr(0, i);

            }

        }

        return strs[0];

    }

};



大神解法:



Copyright © 古田计算器虚拟社区@2017