Leetcode PHP题解--D70 784. Letter Case Permutation

发布时间:2019-08-08 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了Leetcode PHP题解--D70 784. Letter Case Permutation脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

D70 784. Letter Case PErmutation

题目链接

784. Letter Case Permutation

题目分析

给定一个字符串。返回将其字母部分替换成大小写分别可能出现的所有字符。

例如,字符串为a时,返回aA
字符串为Ab时,返回['Ab','AB','ab','aB']

思路

先找到字符串中字母出现的位置。

对于每个出现字母的位置,将小写和大写两种字符串都存进新数组里。

对新数组进行去重和排序,并返回。

最终代码

<?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;
    }
}

觉得文章对你有用,欢迎用爱发电资助。

脚本宝典总结

以上是脚本宝典为你收集整理的Leetcode PHP题解--D70 784. Letter Case Permutation全部内容,希望文章能够帮你解决Leetcode PHP题解--D70 784. Letter Case Permutation所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。