字串演算法之電話號碼的字母組合

2021-09-17 21:16:35 字數 682 閱讀 2356

給定包含數字的字串2-9,返回改數字可能表示的所有可能的字母組合。

例如:輸入:「23」

輸出:思路:這種組合的問題一般都是用dsp深度查詢來解決,這裡可以將輸入的數字轉換為字串陣列,然後對這些字串進行深度查詢。字串陣列中每個字串的每個字元相當於乙個節點,第二個字串的每個節點相當於第乙個字串中的每乙個字元的子節點,就這樣一次進行遍歷。由於最終輸出的是字串陣列,因此可以選擇使用乙個list集合來儲存這些字串。字串定義的資料結構如果選擇string型別的話,那麼每次新增字元和刪除字元(比如第乙個字串中的第乙個字元所有的字串已經訪問完了,此時string中該字元要刪除,重新新增第二個字元)就會很不方便而且效能不高,因此可以採用stringbuilder,這樣每次新增字元和刪除字元就會很方便,而且效能比較高。

下面給出**:

class solution ;

public listlettercombinations(string digits)

public listdps(string str,int n,listlist,stringbuilder word)

if(n==str.length())

int m=str.charat(n)-'0';

for(int i=0;i

return list;

}}

電話號碼的字母組合

給乙個數字字串,每個數字代表乙個字母,請返回其所有可能的字母組合。下圖的手機按鍵圖,就表示了每個數字可以代表的字母。樣例給定 23 返回 ad ae af bd be bf cd ce cf 注意以上的答案是按照詞典編撰順序進行輸出的,不過,在做本題時,你也可以任意選擇你喜歡的輸出順序。class ...

電話號碼的字母組合

給定乙個僅包含數字2 9的字串,返回所有它能表示的字母組合。給出數字到字母的對映關係如下 示例 輸入 23 輸出 ad ae af bd be bf cd ce cf 注 輸出字串順序任意 我的 public class lettercombinationsofaphonenumber public...

電話號碼的字母組合

這是一道我刷題時遇到的乙個題目,很簡單,輸入數字,輸出這些數字構成的字元排列組合 由可以看出。given a string containing digits from 2 9 inclusive,return all possible letter combinations that the nu...