LeetCode PHP 最长公共前缀
- 2020 年 2 月 25 日
- 笔记
友情提示:此篇文章大约需要阅读 2分钟35秒,不足之处请多指教,感谢你的阅读。订阅本站
题目详情
编写一个函数来查找字符串数组中的最长公共前缀。
如果不存在公共前缀,返回空字符串 ""
。
示例 1: 输入: ["flower","flow","flight"] 输出: "fl" 示例 2: 输入: ["dog","racecar","car"] 输出: "" 解释: 输入不存在公共前缀。
说明:所有输入只包含小写字母 a-z
。
题目解析
- 先默认数组中的第一个字符串为公共前缀
- 然后再遍历其他的字符串

最上公共前缀示意图
<?php class Solution { /** * @param String[] $strs * @return String */ function longestCommonPrefix($strs) { if (empty($strs)) { return ""; } $ans = $strs[0]; $count = count($strs); for ($i = 1; $i < $count; $i++) { $j = 0; for (; $j < strlen($ans) && $j < strlen($strs[$i]); $j++) { if (substr($ans, $j, 1) != substr($strs[$i], $j, 1)) { break; } } $ans = substr($ans, 0, $j); if ($ans == "") { return ""; } } return $ans; } } $arr = ["flower", "flow", "flight"]; print_r((new Solution())->longestCommonPrefix($arr));
