美文网首页
栈解析字符串

栈解析字符串

作者: madao756 | 来源:发表于2020-03-08 12:45 被阅读0次

0X00 模板题目

使用栈去解析字符串的一个特征是:

  • 最后栈中只剩下一个元素最后那个元素就是答案
class Solution:
    def parseTernary(self, expression: str) -> str:
        # 首先因为我们人去做也是从右往左去做
        # 用栈去解析字符串
        # 所以这个栈也是从右往左

        stack = []
        conditonState = False
        for i in range(len(expression)-1, -1, -1):
            c = expression[i]
            if c == ":": continue
            elif c == "?":
                conditonState = True
            else:
                if conditonState:
                    if c == "T":
                        res = stack.pop()
                        # pop 错误答案
                        stack.pop()
                        # 将 res 重新 append 进去
                        stack.append(res)
                    else:
                        stack.pop()
                    conditonState = False
                else:
                    stack.append(c)
        
        return stack[-1]

0X01 注意事项

注意解析的方向, 像上面个题目是从右向左, 因为我们人去做也是从右向左

0X02 相关题目

相关文章

  • 栈解析字符串

    0X00 模板题目 439. Ternary Expression Parser 使用栈去解析字符串的一个特征是:...

  • 20. 有效的括号

    题目 解析 这道题特别有意思,解法和Dijkstra双栈算法表达式求值类似,这题也是一个栈的应用。以字符串( { ...

  • java_3_HashMap容器

    待解析字符串 代码 待解析字符串 代码

  • java使用栈解析分隔符匹配

    栈通常用于解析某类的字符串。通常,文本串是用于计算机语言写的代码行,而解析它们的程序就是编译器。 一、分隔符匹配 ...

  • node.js fade

    解析字符串 解析文件

  • cJSON源码阅读(二)

    JSON字符串解析函数cJSON_Parse() 真正的解析函数parse_value 字符串类型解析函数 解析数...

  • ajax中xml和json

    一、DOM解析XML字符串 创建DOM解析XML的解析器,解析器解析XML字符串IE浏览器var parser =...

  • java使用栈翻转字符串

    最近面试遇到现场写代码解析算术表达式,当时只想到使用栈来解析,但是没有最终写完,所以重新温习栈的知识。 栈的定义:...

  • Oracel数据库xml和json字符串解析用法总结

    1,json字符串解析例子 2,xml字符串解析例子 2.1,返回多条记录 2.2,返回json字符串

  • JS函数 | parseInt()

    解析字符串,返回整数。 语法:parseInt(string,radix) string必需,要被解析的字符串。 ...

网友评论

      本文标题:栈解析字符串

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