给出类似的输入
a { b c d { e f } g }
Run Code Online (Sandbox Code Playgroud)
我想在时间(字母或大括号)解析一个标记.当我击中第一个右大括号时,}我需要知道自上一个左大括号后有多少个元素(e和f = 2).然后当我击中那个之后,我需要4(b,c,d,g).
逐个抓取代币很容易,但是......我不知道如何计算它们.我在考虑Stack<int>但是我不能修改顶部元素来增加它?
而不是尝试修改顶部元素,为什么不将它保留在int变量中.
编辑:如果你想保持堆栈本身的所有状态,你总是可以将top元素看作一个变量,通过执行pop-increment-push来改变它.那时,操作是:
这可能会略微降低效率,但我认为它实际上更优雅.
| 归档时间: |
|
| 查看次数: |
115 次 |
| 最近记录: |