资讯专栏INFORMATION COLUMN

Decode String

ysl_unh / 2421人阅读

摘要:题目链接的题,感觉还是分析下什么时候,什么时候,思路会比较快。里面不加循环的写法。

Decode String

题目链接:https://leetcode.com/problems...

stack的题,感觉还是分析下stack什么时候pop,什么时候push,思路会比较快。loop里面不加while循环的写法。

public class Solution {
    public String decodeString(String s) {
        /* stack to solve: store string & store number
         * 2 variables: str, number
         * 1. push: meet "["
         *          number to numberStack, str to stringStack
         *          reset number & str
         * 2. pop: meet "]"
         *         pop number & str, append current str
         * 3. meet number: update number
         * 4. meet other characters: update str
         * result: s
         */
         Stack stringStack = new Stack();
         Stack numberStack = new Stack();
         String str = "";
         int number = 0;
         for(int i = 0; i < s.length(); i++) {
             char c = s.charAt(i);
             if(c == "[") {
                 // push
                 stringStack.push(str);
                 numberStack.push(number);
                 str = "";
                 number = 0;
             }
             else if(c == "]") {
                 String temp = str;
                 str = stringStack.pop();
                 for(int j = numberStack.pop(); j > 0; j--) {
                     str += temp;
                 }
             }
             else if(c >= "0" && c <= "9") number = number * 10 + (c-"0");
             else str += c;
         }
         
         return str;
    }
}

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/66590.html

相关文章

  • [Leetcode] Encode and Decode Strings 字符串编解码

    摘要:记录长度法复杂度时间空间思路本题难点在于如何在合并后的字符串中,区分出原来的每一个子串。这里我采取的编码方式,是将每个子串的长度先赋在前面,然后用一个隔开长度和子串本身。这样我们先读出长度,就知道该读取多少个字符作为子串了。 Encode and Decode Strings Design an algorithm to encode a list of strings to a s...

    gself 评论0 收藏0
  • Python更快的解析JSON大文件

    摘要:提出问题今天用的库解析一个的文件,发现一次都得要,这个在我开来,实在太慢了,有没有更快的库了先给出我的简单测试结果大小测试方法文件内容,然后一次一次解释器多无多多多不成熟的结论最快方法一自带的库是用纯代码实现的,而对纯代码的加速效果比较好。 提出问题 今天用python的simplejson库解析一个 >200MB 的JSON文件,发现一次decode/encode都得要 >10s,这...

    AlphaWallet 评论0 收藏0
  • PHP的htmlspecialchars() 和htmlspecialchars_decode方法详

    摘要:示例你是谁啊,大几都老梁做做没结果你是谁啊,大几都老梁做做没对反斜杠进行转换结果你是谁啊,大几都老梁对斜杠进行过滤入库时进行检测攻击。打印你是谁啊,大几都老梁做做没编码双引号和单引号。 htmlspecialchars() 函数把预定义的字符转换为 HTML 实体。 预定义的字符是: & (和号)成为 & (双引号)成为 (单引号)成为 < (小于)成为 (大于)成为 > ...

    刘东 评论0 收藏0
  • [LintCode/LeetCode] Decode Ways [String to Integer

    摘要:用将子字符串转化为,参见和的区别然后用动规方法表示字符串的前位到包含方法的个数。最后返回对应字符串末位的动规结果。 Problem A message containing letters from A-Z is being encoded to numbers using the following mapping: A -> 1 B -> 2 ... Z -> 26 Given ...

    andong777 评论0 收藏0
  • Serialize and Deserialize Binary Tree & BST

    摘要:思路理论上说所有遍历的方法都可以。但是为了使和的过程都尽量最简单,是不错的选择。用作为分隔符,来表示。复杂度代码思路这道题和之前不同,一般的树变成了,而且要求是。还是可以用,还是需要分隔符,但是就不需要保存了。 297. Serialize and Deserialize Binary Tree Serialization is the process of converting a...

    eccozhou 评论0 收藏0

发表评论

0条评论

ysl_unh

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<