November 2, 2021

LeetCode. Problem 1108

Решение задачи 1108

class Solution {
    public String defangIPaddr(String address) {
        // Creating a new StringBuilder object
        // Создаем объект типа StringBuilder, тк String immutable
        StringBuilder sb = new StringBuilder();
        
        // Looping through the line
        // Проходим циклом for по всем символам строки
        for(int i = 0; i < address.length(); i++) {
        
        // If the current charecter is not equal to a dot ! DON'T USE .equals method. char is a primitive data type!
        // Если текущий символ не равен точке, то заходим в это условие. Не используйте метод .equals() char - это примитив! Если хотите использовать .equals(), то преобразуйте char в Character
            if(address.charAt(i) != '.') {
                // Append the character to our StringBuilder object
                // Добавляем 'неточку' в StringBuilder с помощью метода .append()
                sb.append(address.charAt(i));
            } else {
                // Else if character equals dot
                // Если символ равен точке, то сразу добавляем строку вида "[.]"
                sb.append("[.]"); // Append the string [.]
            }
        }
        
        // Returt string. sb is not a String object. We have to call toString() method
        // Возвращаем строку. Но наш объект sb является объектом типа StringBuilder, а не String. Чтобы получить String вызываем у объекта метод .toString()
        return sb.toString(); 
    }
}
class Solution {
    public String defangIPaddr(String address) {
        StringBuilder sb = new StringBuilder();
        for(int i = 0; i < address.length(); i++) {
            if(address.charAt(i) != '.') {
                sb.append(address.charAt(i));
            } else {
                sb.append("[.]"); // Append the string [.]
            }
        }
        return sb.toString(); 
    }
}


// Создаем объект типа StringBuilder, тк String immutable
// Проходим циклом for по всем символам строки
// Если текущий символ не равен точке, то заходим в это условие. Не используйте метод .equals() char - это примитив! Если хотите использовать .equals(), то преобразуйте char в Character
// Добавляем 'неточку' в StringBuilder с помощью метода .append()
// Если символ равен точке, то сразу добавляем строку вида "[.]"
// Возвращаем строку. Но наш объект sb является объектом типа StringBuilder, а не String. Чтобы получить String вызываем у объекта метод .toString()