首页 > 其他分享 >1106. 解析布尔表达式

1106. 解析布尔表达式

时间:2022-11-05 12:11:22浏览次数:74  
标签:index ch return ++ res 1106 boolean 表达式 布尔

1106. 解析布尔表达式

class Solution {
    int index;
    char[] ch;
     public boolean parseBoolExpr(String expression) {
        ch = expression.toCharArray();
        index = 0;
        return dfs();
    }

    public boolean dfs() {
        if (ch[index] == 'f') {
            index++;
            return false;
        }
        if (ch[index] == 't') {
            index++;
            return true;
        }
        char op = ch[index];
        index += 2;

        boolean res = true;
        if (op == '|') res = false;

        while(ch[index] != ')') {
            if (ch[index] == ',') {
                index ++;
            } else {
                boolean nextBool = dfs();
                if (op == '|') {
                    res = res | nextBool;
                } else {
                    res = res & nextBool;
                }
            }
        }
        index ++;
        if (op == '!') {
            res = !res;
        }
        return res;
    }
}

标签:index,ch,return,++,res,1106,boolean,表达式,布尔
From: https://www.cnblogs.com/eiffelzero/p/16859938.html

相关文章

  • 内部类和lambda表达式
    如果有一个接口A,A里有eat()抽象方法,想要调用这个抽象方法,用传统模式就要写一个实现类B并重写eat()方法,再创建B对象调用这个方法如果用内部类可以简化代码量先定义两个接口......
  • java正则表达式
    参考:https://www.cnblogs.com/klb561/p/10850803.html1匹配验证-验证Email是否正确publicstaticvoidmain(String[]args){//要验证的字符串Stringstr=......
  • 按照 ExpressionVisitor 抽象类 思路 重新实现表达式 从左到右 递归解析 解决参数编号
     核心递归方法根据表达式类型跳转到具体的处理方法处理完后返回null跳出循环///<summary>///访问///</summary>///<pa......
  • 最全的常用正则表达式大全
    很多不太懂正则的朋友,在遇到需要用正则校验数据时,往往是在网上去找很久,结果找来的还是不很符合要求。所以我最近把开发中常用的一些正则表达式整理了一下,在这里分享一下。......
  • lambda表达式使用局部变量要用final
    为什么Lambda表达式(匿名类)不能访问非final的局部变量呢?  因为实例变量存在堆中,而局部变量是在栈上分配,Lambda表达式(匿名类)会在另一个线程中执行。如果在线程......
  • idea 方法格式化中param的groovy表达式
    groovyScript("defresult='';defparams=\"${_1}\".replaceAll('[\\\\[|\\\\]|\\\\s]','').split(',').toList();for(i=0;i<params.size();i++){if(params[......
  • 正则表达式
    获取花括号的数据包括花括号1publicstaticvoidmain(String[]args){2StringfileUrl="shncchdhd${whc$%^&edmcnvf123r}fdghjhjhhj#{bfghj}dcfhdv......
  • Java函数式编程(1):Lambda表达式(2)
    您好,我是湘王,这是我的博客园,欢迎您来,欢迎您再来~ 从之前的Lambda表达式的演变过程可以知道,Lambda表达式其实是一个对匿名内部类的简化过程:去掉了多余的语法修饰,只保留最......
  • 正则表达式
      认识正则:正则表达式,又称规则表达式,(RegularExpression,在代码中常简写为regex、regexp或RE),是一种文本模式,包括普通字符(例如,a到z之间的字母)和特殊字符(称为"元字符"),是......
  • 07_查询数据_系统数据字典_SQL值表达式
    一、系统数据字典 代码:select*fromgp_pgdatabase;(查看数据字典) 二、SQL值表达式值表达式包括查询条件中的各种命令;值表达式的结果称为标量;表达式语法允许从原......