leetcode 91 解碼方法

2022-03-14 03:08:30 字數 491 閱讀 8057

91. 解碼方法

遞迴+回溯 列舉

列舉方法只有兩種,選當前乙個數,還是選取兩個數(<=26)。

dfs狀態:dfs(int k, string s)。k表示當前還剩幾個數需要選。

class solution 

public void dfs(int k, string s)

// 如果當前數為0,此路不通。(上個狀態必須拼成10或20)

if (s.charat(s.length() - k) == '0') return;

for (int i = 1; i <= 2; i++) else if (k > 1) else if (s.charat(s.length() - k) == '2' &&

s.charat(s.length() - k + 1) >= '0' && s.charat(s.length() - k + 1) <= '6') }}

}}

LeetCode91 解碼方法

這題,我花了好大的功夫才通過,中途踩了很多坑,從這個15頂25踩,通過率只有10 多,就能看出這個題,雖然是乙個中等難度的題,但是並沒有那麼好做。看到題目,感覺有點像爬樓梯的那個?想到用動態規劃。第一次寫 沒有考慮0的情況,出錯,那麼就考慮吧,如果出現在頭,就返回0,出現的中間的話。不過我是從後往前...

LeetCode 91 解碼方法

一條包含字母a z的訊息通過以下方式進行了編碼 a 1 b 2 z 26 給定乙個只包含數字的非空字串,請計算解碼方法的總數。示例 1 輸入 12 輸出 2 解釋 它可以解碼為 ab 1 2 或者 l 12 示例 2 輸入 226 輸出 3 解釋 它可以解碼為 bz 2 26 vf 22 6 或者 ...

leetcode 91 解碼方法

一條包含字母a z的訊息通過以下方式進行了編碼 a 1 b 2 z 26給定乙個只包含數字的非空字串,請計算解碼方法的總數。示例 1 輸入 12 輸出 2解釋 它可以解碼為 ab 1 2 或者 l 12 示例 2 輸入 226 輸出 3解釋 它可以解碼為 bz 2 26 vf 22 6 或者 bbf...