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
}
复制代码
相关文章
相关标签/搜索