91. 解码方法

图片说明
图片说明

int numDecodings(char * s){
    int len = strlen(s);
    int ans [len+1];
    ans[0] = 1;
    int flag ;
    int i ; 
    for(i = 1 ; i <= len ; i++){      //从1开始方便处理 省了很多步骤
        ans[i] = 0;
        if(s[i-1]!='0')ans[i] += ans[i-1];
        if(i>=2){
            flag = 10 * (s[i-2]-'0') + s[i-1]-'0';
            if(flag>=10&&flag<=26)ans [i] += ans[i-2];
        }
    }
    return ans[len];
}

全部评论

相关推荐

双非坐过牢:非佬,可以啊10.28笔试,11.06评估11.11,11.12两面,11.19oc➕offer
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务