我在学习python,通过观察并尝试解决面试问题。你知道吗
在下面的问题和解决办法。你知道吗
给定一个非空字符串,检查它是否可以通过获取子字符串并将子字符串的多个副本附加在一起来构造。您可以假设给定的字符串仅由小写英文字母组成,其长度不超过10000。你知道吗
示例1:
输入:“abab”
输出:真
说明:它是子串“ab”的两倍。你知道吗
示例2:
输入:“aba”
输出:假
def repeatedSubstringPattern2(self, str):
"""
:type str: str
:rtype: bool
"""
if not str:
return False
ss = (str + str)[1:-1]
print ss
return ss.find(str) != -1
我的问题是,虽然aba被列为一个错误的例子,但看看解决方案,它给我一种感觉,这是真的。有什么想法吗??我错过了什么?你知道吗
ss = (aba +aba)[1:-1] --> abaaba[1:-1] --> baaba
baaba.find(aba) != -1 --> true??
您在这行中使用的逻辑:
不正确。当你切片一个列表时,它不包括第二个切片索引中的元素。正确的逻辑是:
相关问题 更多 >
编程相关推荐