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