intellij idea使用教程 intellij idea下载 单例模式 Kotlin file dictionary recursion plugins vue的优点 外卖系统源码 jquery绑定事件的方法 teamviewer验证被拒绝 python相对路径怎么写 linux查询文件内容 python3网络编程 python测试 python异常 java简介 java数据 java编程学习入门 java抽象方法 javaspring java文件输入输出 java类方法 电子书之家 梦幻西游手游助手 按键精灵脚本教程 脚本错误怎么解决 一羽月土米水日古余打一成语 win10有几个版本 pr放大画面 oracle表分区 绘图软件下载 qq农场图标 linux系统下载 android应用开发入门 调试js 编写软件 ps智能参考线 mysql密码重置
当前位置: 首页 > 学习教程  > 编程语言

1309. 解码字母到整数映射

2021/1/29 0:01:11 文章标签:

给你一个字符串 s,它由数字(‘0’ - ‘9’)和 ‘#’ 组成。我们希望按下述规则将 s 映射为一些小写英文字符: 字符(‘a’ - ‘i’)分别用(‘1’ - ‘9’)表示。 字符(‘…

给你一个字符串 s,它由数字(‘0’ - ‘9’)和 ‘#’ 组成。我们希望按下述规则将 s 映射为一些小写英文字符:

字符(‘a’ - ‘i’)分别用(‘1’ - ‘9’)表示。
字符(‘j’ - ‘z’)分别用(‘10#’ - ‘26#’)表示。
返回映射之后形成的新字符串。

题目数据保证映射始终唯一。

示例 1:

输入:s = "10#11#12"
输出:"jkab"
解释:"j" -> "10#" , "k" -> "11#" , "a" -> "1" , "b" -> "2".

示例 2:

输入:s = "1326#"
输出:"acz"

示例 3:

输入:s = "25#"
输出:"y"

示例 4:

输入:s = "12345678910#11#12#13#14#15#16#17#18#19#20#21#22#23#24#25#26#"
输出:"abcdefghijklmnopqrstuvwxyz"

提示:

1 <= s.length <= 1000
s[i] 只包含数字('0'-'9')和 '#' 字符。
s 是映射始终存在的有效字符串。
class Solution {
public:
    string freqAlphabets(string s) {
        int n=s.length();
        int i=0;
        string str="";
        while(i<n){
            int x=0;
            if((i+2)<n&&s[i+2]=='#'){
                x+=(s[i]-'0');
                x=x*10+(s[i+1]-'0');
                i=i+3;
            }
            else{
                x+=(s[i]-'0');
                i++;                
            }
            //cout<<x<<" ";
            x--;
            str+=('a'+x);
        }
        return str;
    }
};

本文链接: http://www.dtmao.cc/news_show_650359.shtml

附件下载

相关教程

    暂无相关的数据...

共有条评论 网友评论

验证码: 看不清楚?