美文网首页
394.字符串解码

394.字符串解码

作者: kaikai1234 | 来源:发表于2020-05-28 13:17 被阅读0次

执行用时 :1 ms, 在所有 Java 提交中击败了90.09%的用户

内存消耗 :37.4 MB, 在所有 Java 提交中击败了7.69%的用户

1. 这道题耗费时间太长,1个半小时。

2. 主要在于递归,但是各种情况太复杂。主要是括号数是否为零和当前的字符。二者都要结合。导致比较复杂。

3. 代码如下:

class Solution {

    public String decodeString(String s) {

        return decodeStringHelp(s);

    }

    public String decodeStringHelp(String s){

        StringBuffer sb = new StringBuffer("");

        int count = 0;

        int left = 0;

        int right = s.length();

        StringBuffer numString = new StringBuffer("");

        int num = 0;

        int nextLeft = 0;

        while(left<right){

            if(s.charAt(left)=='['){

                left++;

                if(count==0){

                    nextLeft = left;

                }

                count++;

                continue;

            }

            if(s.charAt(left)==']'){

                count--;

                if(count==0){

                    num = Integer.parseInt(numString.toString());

                    String temp = decodeStringHelp(s.substring(nextLeft,left));

                    while(num>0){

                        sb.append(temp);

                        num--;

                    }

                    numString = new StringBuffer("");

                  num = 0;

                }

                  left++;

                continue;

            }

            if(count==0){

                if(s.charAt(left)>='0' && s.charAt(left)<='9'){

                    numString.append(s.charAt(left));

                    left++;

                    continue;

                }

                sb.append(s.charAt(left));

            }

            left++;

        }

        return sb.toString();

    }

}

相关文章

  • 打卡-字符串解码

    394. 字符串解码

  • 394. 字符串解码

    394.字符串解码给定一个经过编码的字符串,返回它解码后的字符串。 编码规则为: k[encoded_string...

  • 394. 字符串解码

    394. 字符串解码 给定一个经过编码的字符串,返回它解码后的字符串。 编码规则为: k[encoded_stri...

  • LeetCode 394. 字符串解码 | Python

    394. 字符串解码 题目来源:力扣(LeetCode)https://leetcode-cn.com/probl...

  • 394.字符串解码

    ​394.字符串解码 题目分析 对这个题目的需求进行分析(需求分析来自Leetcode用户名为凛冬[1])我只是稍...

  • 394. 字符串解码

    题目描述 给定一个经过编码的字符串,返回它解码后的字符串。 编码规则为: k[encoded_string],表示...

  • 394.字符串解码

    执行用时 :1 ms, 在所有Java提交中击败了90.09%的用户 内存消耗 :37.4 MB, 在所有Java...

  • 394. 字符串解码

    给定一个经过编码的字符串,返回它解码后的字符串。 编码规则为: k[encoded_string],表示其中方括号...

  • 394. 字符串解码

    题目链接:https://leetcode-cn.com/problems/decode-string/ 解题思路...

  • 394. 字符串解码

    解法

网友评论

      本文标题:394.字符串解码

      本文链接:https://www.haomeiwen.com/subject/xqboahtx.html