我想比较两个字符串str1和str2是否相等。
p str1 == str2
大O表示法中比较操作的复杂性是多少?是O(1)吗?
其他编程语言怎么样?
答案 0 :(得分:1)
对我来说最糟糕的情况是O(N)。你有一个循环来检查两个字符串中的每个字符。在某些情况下是O(1):
str1.==(str2)
的语法糖答案 1 :(得分:0)
当然,对平等的测试不是O(1)。如果str1
和str2
指向同一个对象,那么这可能会短路为身份测试,即O(1)。 (还有其他一些案例,正如@ursus所指出的那样)
其他编程语言怎么样?
几乎一样。基础知识不会因语言而异。