这个字谜检查器的时间复杂度是多少?

What's the time complexity of this anagram checker?

这个方法的时间复杂度是多少?我读到 String 的 contains() 方法的时间复杂度是 O(n) 并且我在我的循环中使用它遍历输入字符串是时间复杂度 O(n2)?

public static boolean isAnagram(String str, String str1) {
    if(str.length() != str1.length()) {
        return false;
    }
    
    for(int i = 0; i < str.length(); i++) {
        String letter = String.valueOf(str.charAt(i));
        
        if(!str1.contains(letter)) {
            return false;
        }
        
        letter = String.valueOf(str1.charAt(i));
        if(!str.contains(letter)) {
            return false;
        }
    }
                
    return true;
}

是的 O(n^2) 因为 for 循环有 n 次迭代并且每次迭代调用包含两次