LeetCode题目-17

首页 编程分享 LEET_CODE 正文

leetCode 转载 编程分享 2021-09-04 23:36:44

简介 LeetCode题目-17


✏Leetcode之PHP版题目解析(17. Letter Combinations of a Phone Number)


✏描述

让我们根据电话号码的数字,组合所有情况的字符串,题目给的是23,对应着九种组合。


✏题目实例


✏题目分析

思想就是把给定的数字一位位拿出来,获取它指定的字符串集,然后和其他位上的数字字符串集和一位位进行组合。


✏解法一

    /**
         * @param String $digits
         * @return String[]
         */
        function letterCombinations($digits) {    
             return $this->helper($digits,"");      
        }
          
        function helper($digits,$char)
        {
            $array = ["", "", "abc", "def", "ghi", "jkl", "mno", "pqrs", "tuv", "wxyz"];
            $res=[];
            $strings=$array[$digits[0]];
            $len=strlen($strings);
            for($i=0;$i<$len;$i++){
                $val=$strings[$i];
                if(strlen($digits)==1){  //如果给定只有一个数字的话
                    array_push($res,$char.$val);
                }else{
                    $moreStrings=$this->helper(substr($digits,1),$char.$val);
                    foreach($moreStrings as $more){
                        array_push($res,$more);
                    }
                }
            }
            return $res;
        }

转载链接:https://leetcode.cn/


Tags:


本篇评论 —— 揽流光,涤眉霜,清露烈酒一口话苍茫。


    声明:参照站内规则,不文明言论将会删除,谢谢合作。


      最新评论




ABOUT ME

Blogger:袅袅牧童 | Arkin

Ido:PHP攻城狮

WeChat:nnmutong

Email:nnmutong@icloud.com

标签云