14. Longest Common Prefix #String (Easy)

Problem:###

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

Solution:###

Assume the first string is the result. Compare it to all strings and limit the result while each comparison.

class Solution {
public:
    string longestCommonPrefix(vector& strs) {
        if (strs.size() == 0) return "";
        
        string result = strs[0];
        
        for(int i = 1;i < strs.size();i++)
        {
            for(int j = 0;j < result.size();j++)
            {
                if(result[j] != strs[i][j])
                {
                    if(j == 0) 
                    {
                        result = "";
                        break;
                    }
                    result = result.substr(0, j);
                    break;
                }
            }
        }
        
        return result;
    }
};

LeetCode Discussion

Memo:###

The use of substr is s.substr(startposition,length)

#include 
#include 

int main ()
{
  std::string str="We think in generalities, but we live in details.";
                                           // (quoting Alfred N. Whitehead)

  std::string str2 = str.substr (3,5);     // "think"

  std::size_t pos = str.find("live");      // position of "live" in str

  std::string str3 = str.substr (pos);     // get from "live" to the end

  std::cout << str2 << ' ' << str3 << '\n';

  return 0;
}

你可能感兴趣的:(14. Longest Common Prefix #String (Easy))