電話號(hào)碼的字母組合

給定一個(gè)僅包含數(shù)字2-9的字符串啼辣,返回所有它能表示的字母組合御滩。

給出數(shù)字到字母的映射如下(與電話按鍵相同)鸥拧。注意 1 不對(duì)應(yīng)任何字母。

示例:

輸入:"23"

輸出:["ad", "ae", "af", "bd", "be", "bf", "cd", "ce", "cf"].

說明:盡管上面的答案是按字典序排列的富弦,但是你可以任意選擇答案輸出的順序沟娱。

來源:力扣(LeetCode)

鏈接:https://leetcode-cn.com/problems/letter-combinations-of-a-phone-number

著作權(quán)歸領(lǐng)扣網(wǎng)絡(luò)所有腕柜。商業(yè)轉(zhuǎn)載請(qǐng)聯(lián)系官方授權(quán)济似,非商業(yè)轉(zhuǎn)載請(qǐng)注明出處盏缤。


更多更好答案:https://leetcode-cn.com/problems/letter-combinations-of-a-phone-number/solution/dian-hua-hao-ma-de-zi-mu-zu-he-by-leetcode/

這道題我是用了笛卡爾積運(yùn)算的砰蠢,在此做個(gè)記錄

代碼如下:

class Solution {

? ? /**

? ? * @param String $digits

? ? * @return String[]

? ? * array_shift 刪除第一個(gè)元素唉铜,并返回刪除的元素的值(其實(shí)就是返回第一個(gè)元素的值)

? ? *?array_merge_recursive 把兩個(gè)數(shù)組合并為一個(gè)數(shù)組台舱,如果有鍵名相同值不同的潭流,就會(huì)將值合并到一個(gè)數(shù)組中竞惋,共同指向這個(gè)鍵

? ? */

? ? function letterCombinations($digits) {

? ? ? ? if(!$digits){

? ? ? ? ? ? return [];

? ? ? ? }

? ? ? ? $arr=[

????????????0=>[],

????????????1=>[],

? ? ? ? ? ? 2=>['a','b','c'],

? ? ? ? ? ? 3=>['d','e','f'],

? ? ? ? ? ? 4=>['g','h','i'],

? ? ? ? ? ? 5=>['j','k','l'],

? ? ? ? ? ? 6=>['m','n','o'],

? ? ? ? ? ? 7=>['p','q','r','s'],

? ? ? ? ? ? 8=>['t','u','v'],

? ? ? ? ? ? 9=>['w','x','y','z'],

? ? ? ? ];

? ? ? ? $numarr=str_split($digits);

? ? ? ? $newdigits=[]; //構(gòu)造出需要運(yùn)算的數(shù)組

? ? ? ? foreach($numarr as $v){

? ? ? ? ? ? $newdigits[]=$arr[$v];

? ? ? ? }

? ? ? ? $arr1=[];

? ? ? ? $result=array_shift($newdigits); //刪除并獲取數(shù)組($newdigits) ?中第一個(gè)元素的值

? ? ? ? while ($arr2=array_shift($newdigits)){ //在新數(shù)組($?newdigits)中刪除并獲取第一個(gè)元素的值

? ? ? ? ? ? $arr1=$result;

? ? ? ? ? ? $result=[];?

? ? ? ? ? ? foreach ($arr1 as $value) {

? ? ? ? ? ? ? ? foreach ($arr2 as $value1) {

? ? ? ? ? ? ? ? ? ? $result[]=$value.''.$value1;

? ? ? ? ? ? ? ? }

? ? ? ? ? ? }

? ? ? ? }

? ? ? ? return $result;

? ? }

}

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末幻枉,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子熬甫,更是在濱河造成了極大的恐慌,老刑警劉巖椿肩,帶你破解...
    沈念sama閱讀 223,126評(píng)論 6 520
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異郑象,居然都是意外死亡贡这,警方通過查閱死者的電腦和手機(jī)厂榛,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,421評(píng)論 3 400
  • 文/潘曉璐 我一進(jìn)店門盖矫,熙熙樓的掌柜王于貴愁眉苦臉地迎上來击奶,“玉大人辈双,你說我怎么就攤上這事柜砾∨韧” “怎么了?”我有些...
    開封第一講書人閱讀 169,941評(píng)論 0 366
  • 文/不壞的土叔 我叫張陵证芭,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我废士,道長(zhǎng)叫潦,這世上最難降的妖魔是什么官硝? 我笑而不...
    開封第一講書人閱讀 60,294評(píng)論 1 300
  • 正文 為了忘掉前任诅挑,我火速辦了婚禮泛源,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘忿危。我一直安慰自己,他們只是感情好铺厨,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,295評(píng)論 6 398
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著解滓,像睡著了一般。 火紅的嫁衣襯著肌膚如雪洼裤。 梳的紋絲不亂的頭發(fā)上邻辉,一...
    開封第一講書人閱讀 52,874評(píng)論 1 314
  • 那天腮鞍,我揣著相機(jī)與錄音值骇,去河邊找鬼移国。 笑死吱瘩,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的使碾。 我是一名探鬼主播,決...
    沈念sama閱讀 41,285評(píng)論 3 424
  • 文/蒼蘭香墨 我猛地睜開眼票摇,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了嫂易?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 40,249評(píng)論 0 277
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎颅和,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體峡扩,經(jīng)...
    沈念sama閱讀 46,760評(píng)論 1 321
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,840評(píng)論 3 343
  • 正文 我和宋清朗相戀三年教届,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片案训。...
    茶點(diǎn)故事閱讀 40,973評(píng)論 1 354
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖强霎,靈堂內(nèi)的尸體忽然破棺而出忿项,到底是詐尸還是另有隱情,我是刑警寧澤轩触,帶...
    沈念sama閱讀 36,631評(píng)論 5 351
  • 正文 年R本政府宣布,位于F島的核電站家夺,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏拉馋。R本人自食惡果不足惜榨为,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,315評(píng)論 3 336
  • 文/蒙蒙 一煌茴、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧景馁,春花似錦板壮、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,797評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽笨使。三九已至,卻和暖如春僚害,著一層夾襖步出監(jiān)牢的瞬間硫椰,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,926評(píng)論 1 275
  • 我被黑心中介騙來泰國(guó)打工靶草, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人奕翔。 一個(gè)月前我還...
    沈念sama閱讀 49,431評(píng)論 3 379
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像派继,于是被迫代替她去往敵國(guó)和親宾袜。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,982評(píng)論 2 361