给定一个字符串,我想检查它是否满足以下条件:
[或]或;[]出现,它们必须正确放置,换句话说,在每个[存在之后]和在每个]存在之前[例如,这是合法的:[x1[x3]]
虽然这不是:[x1]]x2[
;出现,它必须出现在[]例如,这是合法的:[;;;],[a;bb]
而这不是:x1[];y "
我已经完成了 1 但卡在了 2 和 3 上,有什么帮助吗?
只需从左到右一次遍历字符串一个字符(ranged-for 对此有好处),并跟踪嵌套级别(不匹配的数量[)。
规则一:对性格的明显考验
规则2:如果[增加嵌套级别,如果]减少嵌套级别。如果水平变为负数,那就是错误。如果它在字符串的末尾没有回到零,那就是一个错误。
规则 3:如果;嵌套级别必须至少为 1,如果它(小于或)等于 0,则为错误。
| 归档时间: |
|
| 查看次数: |
86 次 |
| 最近记录: |