【python程序员面试宝典|程序员算法宝典】

【python】实现字符串的匹配?

2019-07-25  本文已影响0人  阿牛02

题目:给定主字符串S与模式字符串P,判断P是否是S的子串,如果是,那么找出P在S中第一次出现的下标。

分析:采用最直接的方法,逐个比较字符串中的字符。

code:

def match(s, p):

    slen = len(s)

    plen = len(p)

    i = 0

    j = 0

    while i < slen and j < plen:

        if list(s)[i] == list(p)[j]:

            i += 1

            j += 1

        else:

            i = i - j + 1

            j = 0

            if (i > slen - plen):

                return -1

        if j >= plen:

            return i - plen

    return -1

if __name__ == "__main__":

    s = 'xyzabcd'

    p = 'abc'

    print(match(s, p))

程序的运行结果:

3

上一篇 下一篇

猜你喜欢

热点阅读