Рубрики
Uncategorized

Решение для PHP с кодом Leetcode — D70 784. Перестановка буквенного регистра

Автор оригинала: David Wong.

Ссылка на Заголовок

784. Перестановка буквенных падежей

Анализ названия

Дана строка. Возвращает все символы, которые могут появиться, заменив их буквенные части регистром.

For example, the string is a Return when a and A 。 String is Abb Return when ['Abb','ABB','abb','abb']//。

thinking

Сначала найдите расположение букв в строке.

Для каждой позиции, в которой появляются буквы, в новом массиве сохраняются строки как в нижнем, так и в верхнем регистре.

Удалите дубликат и отсортируйте новый массив, а затем вернитесь.

Окончательный код

php
class Solution {

    /**
     * @param String $S
     * @return String[]
     */
    function letterCasePermutation($S) {
        $all = [$S];
        $S = str_split($S);
        $alphabets = str_split('abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ');
        $chars = array_intersect($S, $alphabets);
        foreach($chars as $key => $value){
            foreach($all as $newString){
                $newStringArray = str_split($newString);
                $newStringArray[$key] = strtolower($newStringArray[$key]);
                $all[] = implode($newStringArray);
                
                $newStringArray = str_split($newString);
                $newStringArray[$key] = strtoupper($newStringArray[$key]);
                $all[] = implode($newStringArray);
            }
        }
        $all = array_unique($all);
        sort($all);
        return $all;
    }
}

Если вы считаете, что эта статья полезна для вас, вы можете воспользоваться поддержкой генерации энергии ИИ.