LeetCode-最長公共前綴

要解決的問題?

["flower","flow","flight"] => "fl"javascript

["dog","racecar","car"] => "" // 輸入不存在公共前綴。java

[] => ""  //輸入不存在公共前綴。數組


思路

  1. 首先分析特殊狀況,數組爲空直接return 「」。
  2. 取出任意字符串strs[0]賦值給變量shortChart並與其餘字符串作字符比較。
  3. 每次比較後獲取公共字符串長度j,根據長度截取shortChart後重現賦值給shortChart,特殊狀況,j長度爲0,則return 「」。
  4. 最終shortChart將在被截取到最小長度,也就是最長公共前綴長度

代碼

var longestCommonPrefix = function(strs) {
  if (strs.length === 0) {
    return ""
  }
  let shortChart = strs[0];
  for (let i = 1; i < strs.length; i++) {
    for (let j = 0; j < strs[0].length && j < strs[i].length; j++) {
        if(strs[0][j] !== strs[i][j]){
            break
        }
    }
    shortChart = shortChart.substr(0,j)
    if(shortChart === ""){ return "" }
  }
  return shortChart
}
複製代碼
相關文章
相關標籤/搜索