LeetCode-91.解码方法

LeetCode-91.解码方法题目 代码 classSolutio public intnumDecodi strings intn s size inttemp a b if s 0 0 return0 a 1 if n

大家好,欢迎来到IT知识分享网。

题目:
在这里插入图片描述
代码:

class Solution { 
    public: int numDecodings(string s) { 
    int n=s.size(); int temp,a,b; if(s[0]=='0') return 0; a=1; if(n==1) return 1; if(s[1]=='0'){ 
    if(s[0]=='1'||s[0]=='2') b=1; else return 0; } else if(s[1]=='7'||s[1]=='8'||s[1]=='9'){ 
    if(s[0]=='1') b=2; else b=1; } else { 
    if(s[0]=='1'||s[0]=='2') b=2; else b=1; } for(int i=2;i<n;i++){ 
    if(s[i]=='0'){ 
    if(s[i-1]=='1'||s[i-1]=='2') temp=a; else return 0; } else if(s[i]=='7'||s[i]=='8'||s[i]=='9'){ 
    if(s[i-1]=='1') temp=a+b; else temp=b; } else { 
    if(s[i-1]=='1'||s[i-1]=='2') temp=a+b; else temp=b; } a=b;b=temp; } return b; } }; 

思路:采用动态规划,考虑清楚状态转移方程以及初始条件即可。
运行结果:
在这里插入图片描述

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/153463.html

(0)
上一篇 2025-03-03 20:10
下一篇 2025-03-03 20:15

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信