5.19

  1. Decode String

k[encoded_string] 的编码字符串,将编码的字符重复k次,最后打印出一个完整的字符串。
思路:使用栈结构,由里层向外层,层层解码,当遇到了[ 字符时,向stack当中添加元素,当遇到了]字符时,将stack当中的元素pop() 出来。
Q: 重复的数字k如何处理? 用一个 直接用一个命令将字符串复制k次?
Q: 如何构建一个新的字符串? String builder ?

  1. Simplify Path
    题目描述: 给出一个绝对路径,返回一个相对路径
    Corner Case: 1.空路径返回 / 2.忽略重复的/ 符号
    思路 只需要找到最后的一个 / 将这个/后面跟随的字符返回?
    字符串的处理,暂时跳过

  2. Basic Calculator
    算法课上提到过的一个使用两个栈结构的算法 Arithmetic expression evaluation
    步骤:

  3. 创建两个栈,一个数值栈存value值,一个符号栈存operator,
    2.读取字符串 对于左括号,不处理,对于右括号,从符号栈中pop出一个符号,从数值栈中pop出两个元素,将两个元素根据pop出的符号做操作,并将结果返回到
    数值栈当中。

Q1: 如何判断一个c 是否是数字?
A: Character.isDigit(c).
Q2: operator 字符如何转变成真正的操作符?

Q3:

原文地址:https://www.cnblogs.com/kong-xy/p/9062349.html