「这是我参与2022首次更文挑战的第6天,活动详情查看:2022首次更文挑战」。
前言
最近参加了2022年三月份的蓝桥杯比赛,所以计划学习算法和数据结构相关知识,但是平时都是学习不持续,所以希望借此机会来学习此知识点。因为我是在校大三学生,所以后续的算法相关代码都是使用js语言来进行完成。本文更新的是leetcode算法题之--最长公共前缀。
题目
编写一个函数来查找字符串数组中的最长公共前缀。
如果不存在公共前缀,返回空字符串 ""。
示例
题解
/**
-
@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;
};
分析
知识点:
-
- 使用数组和循环来进行遍历,但是对一个一个放进数组的元素先进行加"单引号操作,即字符串操作;
-
- 其次是先定位每个单词的首位,即使用j<strs[0].length来进行每个单词的首位字母的定位;
-
- 然后就是对每个单词的依次遍历,使用第二套循环,即i<strs.length,然后就是如果if(strs[i][j]!=strs[0][j])则此返回单引号,意思就是对不相等的每个首字母的元素字母加单引号;
-
- 最后就是 d=d+strs[0][j];//循环中去除不相等的首个元素后 就剩下的就是相等元素的输出。