LeetCode之--最长公共前缀

116 阅读2分钟

「这是我参与2022首次更文挑战的第6天,活动详情查看:2022首次更文挑战」。

前言

最近参加了2022年三月份的蓝桥杯比赛,所以计划学习算法和数据结构相关知识,但是平时都是学习不持续,所以希望借此机会来学习此知识点。因为我是在校大三学生,所以后续的算法相关代码都是使用js语言来进行完成。本文更新的是leetcode算法题之--最长公共前缀。

题目

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

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

示例

image.png

image.png

题解

/**

  • @param {string[]} strs

  • @return {string} */ var longestCommonPrefix = function(strs) {

    var d =''; if(!strs.length){return d;} for(var j = 0;j<strs[0].length;j++){//单词首位 for(var i=0;i<strs.length;i++){//每个单词的遍历 if(strs[i][j]!=strs[0][j]){//当每个首个单词的字母不相等时,则返回"单引号 return d;} } d=d+strs[0][j];//循环中去除不相等的首个元素后 就剩下的就是相等元素的输出。 } return d;

};

分析

知识点:

    1. 使用数组和循环来进行遍历,但是对一个一个放进数组的元素先进行加"单引号操作,即字符串操作;
    1. 其次是先定位每个单词的首位,即使用j<strs[0].length来进行每个单词的首位字母的定位;
    1. 然后就是对每个单词的依次遍历,使用第二套循环,即i<strs.length,然后就是如果if(strs[i][j]!=strs[0][j])则此返回单引号,意思就是对不相等的每个首字母的元素字母加单引号;
    1. 最后就是 d=d+strs[0][j];//循环中去除不相等的首个元素后 就剩下的就是相等元素的输出。