枚举 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