内容简介:之前把Leetcode上关于二叉树整理出了14道经典题目,如果面试写不出来,那麻烦你手写一个红黑树吧
2 0 1 9 -6-3 星 期一 开 始 吧
之前把Leetcode上关于二叉树整理出了14道经典题目,如果面试写不出来,那麻烦你手写一个红黑树吧
题 目 描 述
让我们根据电话号码的数字,组合所有情况的字符串,题目给的是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;
}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- 17. Letter Combinations of a Phone Number
- 17. Letter Combinations of a Phone Number
- [LeetCode]17. Letter Combinations of a Phone Number
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。