[面试常问总结] 5. 字符串数组最长公共前缀 (循环一个元素的字符 , 判断其他元素同索引位置是否都相同)
编写一个函数来查找字符串数组中的最长公共前缀。
如果不存在公共前缀,返回空字符串 ""。
示例 1:

示例 2:

说明:
所有输入只包含小写字母 a-z 。
思路:
遍历第一个元素 , 获取到索引 , 循环所有的元素 , 获取当前到当前索引的字串 , 如果有不相等的就返回 , 全相等才继续
go语言代码:
//最长公共子字符串 //例如: {"abc", "ab","abcdef"} 返回ab ;{"abc", "ab","c"} 返回空 func LongestCommonPrefix(strs []string)string{ length:=len(strs) if length==0{ return "" } //先把字符串转成字符rune first:=[]rune(strs[0]) //定义变量 var commonPrefix string //循环第一个字符串 , 主要是获取索引 for i,_:=range first{ //取出第一个字符串 , 到当前索引时的子串 firstPrefix:=string(first[0:i+1]) //判断是否有不相等的标志位 flag:=true //循环所有的字符串数组 for _,str:=range strs{ //每次循环的时候置空一下 //commonPrefix="" item:=[]rune(str) //取出每项 , 到当前索引的子串 itemPrefix:=string(item[0:i+1]) //如果有一个不相等就是flag false if firstPrefix!=itemPrefix{ flag=false } } if flag{ //赋值给结果 commonPrefix= firstPrefix }else{ return commonPrefix } } return commonPrefix }
十年开发经验程序员,离职全心创业中,历时三年开发出的产品《唯一客服系统》
一款基于Golang+Vue开发的在线客服系统,软件著作权编号:2021SR1462600。一套可私有化部署的网站在线客服系统,编译后的二进制文件可直接使用无需搭开发环境,下载zip解压即可,仅依赖MySQL数据库,是一个开箱即用的全渠道在线客服系统,致力于帮助广大开发者/公司快速部署整合私有化客服功能。
开源地址:唯一客服(开源学习版)
官网地址:唯一客服官网
浙公网安备 33010602011771号