剑指 Offer 46. 把数字翻译成字符串
题目链接:https://leetcode.cn/problems/ba-shu-zi-fan-yi-cheng-zi-fu-chuan-lcof/
1.思路
看了下题解大部分是dp算的,而我第一时间想到的是递归,对于每一位数来说,当前阶段有2种选择,1是自己进入,2是和自己的下一位一起进入,较为简单
class Solution {
int count;
public int translateNum(int num) {
back(String.valueOf(num),0);
return count;
}
private void back(String s,int index){
if (index >=s.length()) {
count++;
return;
}
back(s,index+1);
if (index<s.length()-1 && s.charAt(index)=='1') back(s,index+2);
if (index<s.length()-1 && s.charAt(index)=='2'&&s.charAt(index+1)<='5'){
back(s,index+2);
}
}
}