Java 中静态Character.isLetter 的时间复杂度

问题描述 投票:0回答:1

我目前正在解决 Leetcode 的一题关于字符串的问题。我需要检查我的所有字符串文字是否都是字母

我附有以下代码:

for (int i = 0; i < s.length(); i++) {
     char character = s.charAt(i);
     if (!Character.isLetter(character))
        return s;
     lastIndex[character - 'a'] = i;
 }

检查字符串是否包含所有字母的时间复杂度是多少?

我认为这是 O(n),因为将对字符串中的所有字符进行检查。

谢谢。

java string static char time-complexity
1个回答
0
投票

从您提供的代码段来看,时间复杂度确实是 O(n),因为您仅使用 for 循环迭代长度为 n 的字符串一次。

另外,回答一下标题,

Character.isLetter ()
的时间复杂度是O(1),因为它在常数时间内使用unicode范围比较来确定布尔返回值。

最新问题
© www.soinside.com 2019 - 2024. All rights reserved.