编程之美 set 9 字符串移位包含问题

题目

给定字符串 s1 和 s2, 要求判定 s2能否能够被通过 s1 做循环移位得到的字符包含. s1 = AABCD, s2 = CDAA 返回 true. 给定 s1 = ABCD 和 s2 = ACBD 返回 false

 

解法

1. 最直接的方法是对 s1 进行移位然后比较. 若 s1 较长, 那么效率较低

2. 题目转化成比较 s2 是否在 s1s1 中, 这样可以利用 kmp 等算法提高对比效率

 

posted @ 2014-02-24 19:52  SangS  阅读(168)  评论(0编辑  收藏  举报