0
点赞
收藏
分享

微信扫一扫

openjudge:找出全部子串位置

Java旺 2022-02-04 阅读 152
python

描述

输入两个串s1,s2,找出s2在s1中所有出现的位置

两个子串的出现不能重叠。例如'aa'在 aaaa 里出现的位置只有0,2

输入

第一行是整数n
接下来有n行,每行两个不带空格的字符串s1,s2

输出

对每行,从小到大输出s2在s1中所有的出现位置。位置从0开始算
如果s2没出现过,输出 "no"
行末多输出空格没关系

样例输入

4
ababcdefgabdefab ab
aaaaaaaaa a
aaaaaaaaa aaa 
112123323 a

样例输出

0 2 9 14 
0 1 2 3 4 5 6 7 8 
0 3 6 
no

代码

n = int(input())
for i in range(n):
    s = input().split()
    m = 0
    if s[1] not in s[0]:
        print('no', end='')
    for j in s[0]:
        a = s[0].find(s[1],m)
        if a == -1:
            continue
        else:
            m = a + len(s[1])
            print(a,'',end='')
    print("")    #每次循环换行
举报

相关推荐

0 条评论