首页 > 其他分享 >leetcode394-字符串解码

leetcode394-字符串解码

时间:2022-09-02 00:55:42浏览次数:81  
标签:charAt leetcode394 StringBuilder 解码 字符串 String

字符串解码

  • 递归
class Solution {
    public String decodeString(String s) {
        StringBuilder sb = new StringBuilder();
        int i = 0, n = s.length();
        while(i < n){
            if(s.charAt(i) >= '0' && s.charAt(i) <= '9'){
                int j = i+1;
                while(s.charAt(j) >= '0' && s.charAt(j) <= '9') j++;
                int repeat = Integer.parseInt(s.substring(i, j));
                i = j;
                j++;
                int cnt = 1;
                while(cnt != 0){
                    if(s.charAt(j) == '[')  cnt++;
                    else if(s.charAt(j) == ']') cnt--;
                    j++;
                }
                String str = decodeString(s.substring(i+1, j-1));
                for(int k = 0; k < repeat; k++) sb.append(str);
                i = j;
            }else{
                sb.append(s.charAt(i));
                i++;
            }
        }
        return sb.toString();
    }
}

标签:charAt,leetcode394,StringBuilder,解码,字符串,String
From: https://www.cnblogs.com/xzh-yyds/p/16648346.html

相关文章

  • C++正则匹配字符串
    以下实例使用C++正则从一串混乱的字符串中匹配带小数点的数字点击查看代码#include<iostream>#include<regex>usingnamespacestd;intmain(){smatchres......
  • 【算法】反转字符串
    前言研究算法能提高我们的编程功底,更好地编写出高效稳健的代码。今天,我们研究的是——反转字符串。//输入一个字符串,输出它的倒序字符串input:Hellooutput:olleH......
  • Linux: 字符串截取
    假设定义了一个变量为:代码如下: file=/dir1/dir2/dir3/my.file.txt可以用${}分别替换得到不同的值:${file#*/}:删掉第一个/及其左边的字符串:dir1/dir2/dir3/my.file.txt......
  • 转!mybatis字符串比较 注意事项
    注意坑:当常量的length=1时,因为mybatis会把’1’解析为字符,java是强类型语言,所以不能这样写。如果常量的length>1就不会出现这个问题。     转自:https://blog......
  • nodejs base64 编码解码
    一、普通字符串编码varb=newBuffer('JavaScript');vars=b.toString('base64');//SmF2YVNjcmlwdA==解码:varb=newBuffer('SmF2YVNjcmlwdA==','base64')......
  • 把数据库连接字符串放到配置文件中
    当项目交到客户方后,数据库连接相关信息有可能需要更改,如数据库服务器的ip地址,用户名,密码等,为了避免到时候需多次更改数据库连接字符串信息,需要将连接字符串放到配置文件中,......
  • 0Java切分字符串的几种方式
    Java切分字符串的几种方式java分割字符串,匹配多种分隔符......
  • python怎么将json转成字符串
    在python中将json转成字符串的方法:首先打印出数据的类型;然后输入“str=json.dumps(data,indent=2)”命令将json转换为字符串,最后使用print语句打印出字符串即可。pyth......
  • 【字符串】#2938. [Poi2000]病毒
    分析不难想到使用Trie图来模拟匹配的过程。那么要求的就等价于:判断是否可以从Trie图的根节点\(0\)出发不经过非法节点找到一个环。而非法节点则等价于:插入的模式......
  • shell中字符串和引号("",''.``的区分)
    场景1:变量为字符串类型,引用变量时添加引号等的区分【概念】变量的引用主要包含四类:双引号引用、单引号引用、反引号引用、反斜线引用""双引号......