LeetCode PHP 最长公共前缀

  • 2020 年 2 月 25 日
  • 笔记

友情提示:此篇文章大约需要阅读 2分钟35秒,不足之处请多指教,感谢你的阅读。订阅本站

题目详情

编写一个函数来查找字符串数组中的最长公共前缀。

如果不存在公共前缀,返回空字符串 ""

示例 1:  输入: ["flower","flow","flight"]  输出: "fl"  示例 2:  输入: ["dog","racecar","car"]  输出: ""  解释: 输入不存在公共前缀。

说明:所有输入只包含小写字母 a-z 。

题目解析

  1. 先默认数组中的第一个字符串为公共前缀
  2. 然后再遍历其他的字符串

最上公共前缀示意图

<?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));