我知道在字符串中添加一个字符需要 O(1) 时间。例如:-
String S = "abc"
S = S+'z';
如果我想反之亦然,将字符串连接到字符中怎么办?这样也可以吗?
S = 'z'+S;
如果是的话,需要多长时间? Java 是复制 String S{O(n)} 的全部内容还是只是调整内存中的指针 {O(1)}?
谢谢!
最佳答案
字符串是不可变的。因此,这个操作(添加前缀)不可能是 O(1)。它至少与 S 的大小成线性关系。并且...因为 O(f(N)) 没有意义(想一想),其中 O(f(N)) > O(N),这意味着它的复杂度为 O(N)。仅凭常识就可以肯定这一点。
关于java - 在Java中为字符串添加前缀?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24172642/