[LeetCode]Decode Ways「建议收藏」

[LeetCode]Decode Ways

大家好,又见面了,我是全栈君。

A message containing letters from A-Z is being encoded to numbers using the following mapping:

'A' -> 1
'B' -> 2
...
'Z' -> 26

Given an encoded message containing digits, determine the total number of ways to decode it.

For example,
Given encoded message "12", it could be decoded as "AB" (1 2) or "L" (12).

The number of ways decoding "12" is 2.

迭代较简单,递归超时

public class Solution {
	public int numDecodings(String s) {
		int len = s.length();
		if(len == 0) return 0;
		int prev = 1;
		int cur = s.charAt(0)>'0'?1:0;
		if(cur == 0) return 0;
		for(int i=1;i<len;i++){
			int temp = cur;
			int comp = Integer.parseInt(s.substring(i-1,i+1));
			if(s.charAt(i)=='0'){
				char c = s.charAt(i-1);
				if(c=='1'||c=='2'){
				    cur = prev;
					prev = temp;
					continue;
				}else{
					return 0;
				}
			}else if(comp<10||comp>26) {
				prev = temp;
				continue;
			}
			cur += prev;
			prev = temp;
		}
		return cur;
	}
}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/115911.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • visio2013找到密钥以后但是未激活状态「建议收藏」

    visio2013找到密钥以后但是未激活状态「建议收藏」转载:https://blog.csdn.net/TaoYuanKuangDao/article/details/78282999#reply网上找了密钥输入通过以后显示未激活,然后打开流程图只能看不能进行任何修改,找了很多资料找到了这篇很好用:正确的激活成功教程工具KMSpico_setup.exe下载地址: http://pan.baidu.com/s/1ntkM6V3 2.72MB安装后,从…

    2022年6月24日
    48
  • 最全ASCii 码表和说明

    最全ASCii 码表和说明最全ASCii 码表和说明

    2022年4月24日
    125
  • NLP学习路线总结

    NLP学习路线总结目录1、自然语言处理概述2、自然语言处理入门基础3、自然语言处理的主要技术范畴4、自然语言处理基本点5、特征处理6、模型选择7、NLP常用工具8、NLP语言模型9、快速入门NLP方法10、自然语言处理学习资料1、自然语言处理概述自然语言处理(NaturalLanguageProcessing,NLP)是计算机科学领域与人工智能领域中的一个重要方向…

    2022年9月28日
    5
  • phpstorm 中git 的使用

    phpstorm 中git 的使用

    2021年10月17日
    83
  • Cinemachine初体验

    Cinemachine初体验一、安装可以直接从packagemanager里面安装(踩过的坑:导入samples时可能会出现sample和当前使用的unity版本不兼容的情况,更换版本即可)二、cinemachine使用说明场景中需要已存在一个unitycamera,然后在该相机上挂载CinemachineBrain组件(ps:如果不是在timeline中使用虚拟相机的话,这两个属性会决定多个虚拟相机之间切换的方式)或者直接使用cinemachine新建相机,这样会自动在原有的unitycamera上挂载Cinema

    2022年5月27日
    46
  • dos命令怎么进入一个文件夹(cmd强制删除文件夹命令)

    在开发中我们经常需要进入指定文件夹:我来演示下dos命令进入这个文件夹:D:\soft\Gitwin+R—->输入cmd进入dos命令端输入“cd盘符名:\文件夹名”,比如想进入的目录:D:\soft\Git文件,则输入“cdD:\soft\Git”,按“回车”键输入“d:”,按“回车”键到此就进入到了指定文件夹了若要显示访问目录的具体信息,可输…

    2022年4月15日
    45

发表回复

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

关注全栈程序员社区公众号