在 Python 中反转字符串和回文时间复杂度
Reversing a string and palindrom time complexity in Python
下面的代码是否适合检查字符串是否为回文?
它的时间复杂度是多少?我猜是,O(1)
对吗?因为我们只是访问具有不同索引的相同字符串,所以访问索引 O(1)
是一个操作。如果我错了,请纠正我。如果可能,请提供更好的解决方案。
s1 = 'abccba'
s2 = s1[::-1]
if s1==s2:
print('Palindrome')
else:
print('Not Palindrome')
def check_palin(word):
for i in range(len(word)//2):
if word[i] != word[-(i+1)]:
return False
return True
我想这是一个更有效的解决方案,因为它会遍历一半的字符串和 returns False
每当违反条件时。但复杂度仍然是 O(n)
下面的代码是否适合检查字符串是否为回文?
它的时间复杂度是多少?我猜是,O(1)
对吗?因为我们只是访问具有不同索引的相同字符串,所以访问索引 O(1)
是一个操作。如果我错了,请纠正我。如果可能,请提供更好的解决方案。
s1 = 'abccba'
s2 = s1[::-1]
if s1==s2:
print('Palindrome')
else:
print('Not Palindrome')
def check_palin(word):
for i in range(len(word)//2):
if word[i] != word[-(i+1)]:
return False
return True
我想这是一个更有效的解决方案,因为它会遍历一半的字符串和 returns False
每当违反条件时。但复杂度仍然是 O(n)