Longest Common Prefix

xiaoxiao2021-02-28  70

标签(空格分隔): leetcode 简单编程


Longest Common Prefix:

题目描述

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

题目解答

(一)

拿出第一个字符串,从其第0个位置开始,看能和其余的字符串均连续匹配的字符有几个:

class Solution { public: string longestCommonPrefix(vector<string>& strs) { if (strs.empty()) { return ""; } string& fstStr = strs[0]; string::size_type i = 0; for (; i < fstStr.size(); ++i) { bool isBreak = false; for (vector<string>::size_type j = 1; j < strs.size(); ++j) { if (strs[j].size() <= i || strs[j][i] != fstStr[i]) { isBreak = true; break; } } if (isBreak) { break; } } return fstStr.substr(0, i); } };

(二)

循环嵌套时使用goto直接跳出

class Solution { public: string longestCommonPrefix(vector<string>& strs) { if (strs.empty()) { return ""; } string& fstStr = strs[0]; string::size_type i = 0; for (; i < fstStr.size(); ++i) { for (vector<string>::size_type j = 1; j < strs.size(); ++j) { if (strs[j].size() <= i || strs[j][i] != fstStr[i]) { goto RetLabel; } } } RetLabel: return fstStr.substr(0, i); } };
转载请注明原文地址: https://www.6miu.com/read-75165.html

最新回复(0)