[剑指 Offer 46.] 把数字翻译成字符串
发布日期:2021-05-10 06:33:44 浏览次数:27 分类:原创文章

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

一.题目


给定一个数字,我们按照如下规则把它翻译为字符串:0 翻译成 “a” ,1 翻译成 “b”,……,11 翻译成 “l”,……,25 翻译成 “z”。一个数字可能有多个翻译。请编程实现一个函数,用来计算一个数字有多少种不同的翻译方法



 


二.代码


class Solution {
public: int translateNum(int num) {
string src = to_string(num); int p = 0, q = 0, r = 1; for(int i = 0; i < src.size(); ++i) {
p = q; q = r; r = 0; r += q; if(i == 0) continue; auto pre = src.substr(i - 1, 2); if(pre <= "25" && pre >= "10") r += p; } return r; }};
上一篇:[剑指 Offer 47.] 礼物的最大价值
下一篇:[剑指 Offer 45.] 把数组排成最小的数

发表评论

最新留言

逛到本站,mark一下
[***.202.152.39]2025年05月07日 22时29分02秒