枚举 source 的起点 i(从左到右保证第一次出现),当 source[i] == target[0] 时尝试匹配:
l=i(指向 source),r=0(指向 target)。r 到达 target 末尾(全部非空格字符都匹配),则返回 [i, l]。此时 l 正好是 source 中最后一个匹配字符之后的位置,满足“结束(不含)”。全部起点失败则返回 -1,-1。
给定两个字符串 source 和 target ,在 source 中查找 target 的开始(包含)和结束(不包含)索引,忽略任何空格差异。如果目标在源中找到,返回 [start,end] ,否则,返回 [−1,−1] 。如果 target 在 source 中多次出现,则返回第一次出现的目标位重。
假定: source 和 target 都仅由字符 a−z 和空格组成,并且至少有一个非空格字符。
输入包含两行:
source。target。输出一个区间 start,end。
aac
aab
-1,-1
abc sh op ee ddd
shopee
4,12
abc shopee ddd
sh op ee
4,10