Делает toCharArray () занимает место в Big O - PullRequest
1 голос
/ 09 апреля 2020

При вычислении пространственной сложности алгоритмов нам говорят, что самый простой способ узнать о дополнительном пространстве - это создание структуры данных, такой как Set, Map, Stack и др. c.

. приведенный ниже код в качестве примера, который отображает строку (In Java)

private String reverse(String string){

    if (string == null || string.length() == 0) return string;

    char[] strArray = string.toCharArray(); // Does this consume space?

    int first = 0, last = strArray.length - 1;

    while (first < last){
        char temp = strArray[first];
        strArray[first++] = strArray[last];
        strArray[last--] = temp;
    }


    return String.valueOf(strArray);
}

Преобразует ли str в массив символов пространство

1 Ответ

2 голосов
/ 09 апреля 2020

В соответствии с javado String c, toCharArray создает "вновь распределенный массив символов, длина которого равна длине этой строки и содержимое которого инициализируется, чтобы содержать представленную последовательность символов этой строкой ". Следовательно, вызов toCharArray имеет сложность O (n).

...