java 括号 b_周围的括号标识符Java

如果你能用Java帮助我,我将不胜感激.

给定两个字符串,假设字符串A =“(AB)(C)”和字符串B =“((AB)(C))”和字符串C =(AB)和字符串D = A(BC)和字符串E = (A(BC))

如何识别String是否完全被字符串B括起来.

例如:boolean flag(String expr){//如果包围则返回false,否则返回true}

如果expr = A,则flag将返回true

如果expr = B,则flag将返回false

如果expr = C,flag将返回false

如果expr = D,则flag将返回true

如果expr = E,则flag将返回flase

对不起,如果不清楚,但它应该适用于任何String表达式:

假设表达式仅包含数字和运算符以及括号.

谢谢.欣赏它.

解决方法:

你不能用正则表达式做*因为嵌套括号不是常规语言.

而是迭代字符串并通过计算开括号和右括号的数量来跟踪嵌套级别.对于每个左括号,将一个添加到嵌套级别.对于每个右括号,减去一个.

>如果在到达字符串末尾之前达到零(或更小),则返回true.

>如果最后达到零,则返回false.

>除了输入无效之外,其他任何内容都是不平衡的括号.

以下是一些用于演示原理的实例:

(A+B)+(C)

11110 TRUE

((A+B)+(C))

12222112210 FALSE

(A+B)

11110 FALSE

A+(B+C)

0 TRUE

(A+(B+C))

111222210 FALSE

*三立

标签:java,string,regex,iteration,char

来源: https://codeday.me/bug/20190826/1729821.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值