在 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)