首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    LeetCode-394-字符串解码

    # LeetCode-394-字符串解码 给定一个经过编码的字符串,返回它解码后的字符串。...你可以认为输入字符串总是有效的;输入字符串中没有额外的空格,且输入的方括号总是符合格式要求的。...当前字符是a-z或者A-Z范围内时,直接进行字符串拼接res.append(c[i]) 当前字符==]右括号时,需要将括号内的字符重复,同时需要将之前保存的字符串和括号内的字符串进行拼接。...首先弹出数字栈内的数字tempNum,利用一个临时的字符串tempStr保存之前的结果,从字符栈中弹出之前的字符串strStack.pop(),并转为StringBuilder类型赋值给tempStr,...进行玩括号内字符添加后,将临时字符串赋值给res,继续进行循环判断。

    32710

    【栈与队列】字符串解码

    字符串解码 394. 字符串解码 ​ 给定一个经过编码的字符串,返回它解码后的字符串。 ​...(注意有可能是多位数,要提取完整的数字) 遇到[: 说明此时后面的字符串是一个需要解码的部分,所以将方括号后面的字符串拎出来放入字符串栈。...遇到]: 将数字栈和字符串栈的栈顶元素都出栈,然后重复 k 次后将新字符串尾插到字符串栈的栈顶字符串尾部。...因为有可能此时遇到的 ] 号是一个嵌套的字符串解码部分,所以我们需要将其尾插到前一个保存着的字符串尾部,作为一个新整体!...遇到的是字符: 说明此时前面已经没有 [ 号了,因为对于不是单独的字符串,已经放在第二种情况中解决了!因此是单独的字符串,所以将该字符串提取出来然后尾插到字符串栈的栈顶字符串后面即可。 ​

    10600

    ​LeetCode 394:字符串解码 Decode String

    题目: 给定一个经过编码的字符串,返回它解码后的字符串。 Given an encoded string, return its decoded string....你可以认为输入字符串总是有效的;输入字符串中没有额外的空格,且输入的方括号总是符合格式要求的。...我们同样可以用数据结构栈来解题,,能用栈解决的题目大部分都可以用递归解决,两者逻辑基本相同: 输入:'3[a2[c]]' 初始化栈: 栈nums 存要重复的次数k,栈str 存字符串 遍历字符串: 指针指向字符...结束返回res 注意: 由于重复次数可能大于10,所以暂存数字时要适当处理,如 num*10+当前数字 在c++里可以直接修改拼接字符,但Java不支持运算符重载,可以借助 StringBuilder...py里有现成的判断字符串的方法: isdigit() 是否为只包含数字的字符串 isalpha() 是否为只包含字母的字符串 class Solution: def decodeString(

    1.4K10

    python之编码解码、字符串常用方法

    解码常用方法 bytes.decode(encoding="utf-8",errors="strict"),Python3中没有 decode方法,但我们可以使用bytes对象的decode()方法来解码给定的...指定的是'ignore'或者'replace' 其他常用方法 isalnume(),如果字符串至少有一个字符并且所有字符都是字母或数字则返回True,否则返回 False isalpha(),如果字符串至少有一个字符并且所有字符都是字母则返回...,比如一二三),则返回True,否则返回False join(seq),以指定字符串seq作为分隔符,将seq与之前的字符串合并为一个新的字符串 len(string),返回字符串长度 lstrip()...,去掉字符串左边的空格或指定字符 rstrip(),去掉字符串末尾的空格或指定字符 split(str="",num=string.count(str))num=string.count(str)),以...str为分隔符截取字符串,如果num有指定值,则仅截取 num+1 个子字符串 str = "chongqing" print(str[0:5]) # [起始下标:截取字符数量] print(str

    71130

    【数据结构和算法】字符串解码

    一、题目描述 给定一个经过编码的字符串,返回它解码后的字符串。 编码规则为: k[encoded_string],表示其中方括号内部的 encoded_string 正好重复 k 次。...你可以认为输入字符串总是有效的;输入字符串中没有额外的空格,且输入的方括号总是符合格式要求的。...在算法中,栈在很多情况下是非常有用的,下面是一些常见的情况: 括号匹配:当你有一个包含括号的字符串,并且你想要检查这个字符串中的括号是否匹配,你可以使用栈。...从左到右扫描字符串,如果遇到左括号(如“(”,“{”或“[”),则将其压入栈。如果遇到右括号,则从栈顶弹出一个元素并检查它们是否匹配。如果它们不匹配,那么这个字符串就不是有效的。...返回字符串 sb 。

    16610

    【Python】字符串 ② ( 字符串拼接 | 字符串与非字符串不能直接拼接 | TypeError: can only concatenate str (not “int“) to str )

    文章目录 一、Python 字符串拼接 二、字符串与非字符串不能直接拼接 一、Python 字符串拼接 ---- Python 字符串拼接 可以通过 + 运算符 进行 ; "Tom" + " 19" 拼接后的结果是..."Tom 19" ; 上面是 字面量 与 字面量 进行拼接 ; 字面量 与 变量 , 变量 与 变量 之间 , 也可以进行拼接 ; 字面量 与 变量拼接示例 : 字符串 字面量 可以 与 字符串变量...进行拼接 ; # 字面量 与 变量 拼接 name = "Tom " print(name + "19") 变量 与 变量 拼接示例 : 字符串 变量 可以 与 字符串变量 进行拼接 ; # 变量...---- 字符串不能与非字符串进行拼接 , 如下代码 , 字符串与数字进行拼接 ; # 字符串变量 与 数字拼接 name = "Tom" print(name + 18) 上述代码执行会报错 : TypeError...File "Y:\002_WorkSpace\PycharmProjects\HelloPython\hello.py", line 3, in print(name + 18) TypeError

    40120

    python--一文搞懂字符串的编解码

    本文就把python中的字符串处理一次性讲解清楚~ASCII、Unicode和UTF-8的关系由于计算机只能处理二进制,字符串类型必须转为数字才能处理,所以字符串是一种特殊的数据类型,它需要编解码才能在计算机中进行处理...编码和解码首先我们要区分下,字符串和字节码。Python的字符串类型是str,在内存中用Unicode表示,一个字符对应若干个字节。...编码的字符串转为utf-8编码解码(decode):将特定编码格式的字节码转为对应的Unicode字符串的过程;就是将字节码转换为字符串bytes.decode(encoding="utf-8", errors...我们在进行字符串操作时,首先要明确下环境的python版本,以及环境默认的编解码格式。...上文我们解释过,decode是将字节码解码为字符串,字符串是不能再解码的。同理b'\xe4\xb8\xad\xe6\x96\x87'字节码也没有encode方法。

    1.5K160

    如何使用Decodify递归检测和解码编码字符串

    关于Decodify  Decodify是一款功能强大的字符串安全处理工具,在该工具的帮助下,广大研究人员能够轻松地以递归的方式检测和解码编码字符串。...== 最后,将其提交给Decodify,其结果如下: 如上图所示,Decodify能够以自动化的方式检测目标字符串,并自动对字符串进行编码和解码。  ...现在我们就可以在命令行终端中输入下列命令来执行Decodify: dcode 如需卸载Decodify,则可以使用下列命令来运行卸载脚本: make uninstall  工具使用样例  解码凯撒密码...我们可以使用--rot选项来提供偏移量,或者使用--rot all命令来告诉Decodify使用1-26偏移量来解码目标字符串。...如果使用-rot all选项对字符串“bpgkta xh qtiitg iwpc sr”进行处理后的输出结果如下: 反转字符串 我们还可以使用-rev选项来对目标字符串进行反转。

    69420
    领券