描述:
给两个字符串t、p,要求从t中找到一个和p相同的连续子串,并输出该字符串在t的第一个字符的下标。
输入:
两行,字符串t、p,且t的长度不小于p。
输出:
若能从t中找到一个和p相等的连续子串,则输出该子串第一个字符在t中的下标(从左到右依次为1,2,3,...);若不能则输出‘NO’;若含多个,则选第一个。
实例:
输入
AVERDXIVYERDIAN
RDXI
输出
4
个人想法,若有错误,敬请指出
// t中找含p的相同子串,输出子串在t的第一个下标
function sameStr(t,p){
if(t.length < p.length){
console.log('NO');
return
}
let same = false
let index = 0
// 从t中循环匹配p(0,1,2...)
for(let i=0 ; i < t.length - p.length; i++){
if(t.substr(i,p.length) == p){
same = true
index = i
}
}
if(same){
console.log(index+1);
}else{
console.log('NO');
}
return
}

该问题涉及字符串处理,目标是从字符串t中找出与字符串p相同的连续子串,并返回其在t中的起始下标。如果不存在这样的子串,则输出NO。给出的示例代码使用了JavaScript进行匹配,并在找到子串时停止搜索。
277





