7 把数字翻译成字符串
发布日期:2021-05-10 01:34:57 浏览次数:22 分类:原创文章

本文共 946 字,大约阅读时间需要 3 分钟。

剑指 Offer 46. 把数字翻译成字符串给定一个数字,我们按照如下规则把它翻译为字符串:0 翻译成 “a” ,1 翻译成 “b”,……,11 翻译成 “l”,……,25 翻译成 “z”。一个数字可能有多个翻译。请编程实现一个函数,用来计算一个数字有多少种不同的翻译方法。示例 1:输入: 12258输出: 5解释: 12258有5种不同的翻译,分别是"bccfi", "bwfi", "bczi", "mcfi"和"mzi"提示:0 <= num < 231
思路:	回溯算法		遍历所有结果
class Solution {       public int translateNum(int num) {           String number = String.valueOf(num);        return translate(number, 0, 0);    }    private int translate(String number, int index, int count) {           if(index == number.length())            return count + 1;        char ch = number.charAt(index);        if(ch >= '0' && ch <= '9') {               count = translate(number, index + 1, count);        }        if(index < number.length() - 1) {               char ch2 = number.charAt(index + 1);            if(ch == '1' || (ch == '2' && ch2 <= '5' && ch2 >= '0')) {                   count = translate(number, index + 2, count);            }        }        return count;    }}
上一篇:8 第一个只出现一次的字符
下一篇:5 表示数值的字符串

发表评论

最新留言

表示我来过!
[***.240.166.169]2025年04月16日 23时58分12秒