美文网首页
检查括号有效性

检查括号有效性

作者: yellowzhou | 来源:发表于2021-02-22 16:01 被阅读0次
Boolean (^isValid)(NSString *string) = ^Boolean(NSString *string) {
            NSMutableArray *stack = [NSMutableArray new];
            NSDictionary *dic = @{@"(":@")",@"[":@"]",@"{":@"}"};
            
            
            for (int i = 0; i < string.length; i++) {
                NSString *tmp = [string substringWithRange:NSMakeRange(i, 1)];
                if (dic[tmp]) {
                    [stack addObject:tmp];
                    continue;
                }
                
                for (NSString *key in dic.allKeys) {
                    NSString *value = dic[key];
                    if ([value isEqualToString:tmp]) {
                        if (![stack.lastObject isEqualToString:key]) {
                            return false;
                        }
                        
                        [stack removeLastObject];
                        break;
                    }
                }
            }
            return ![stack count];
        };
  • true: isValid(@"{[]}");
  • true: isValid(@"{[([{({})}])]}");
  • false: isValid(@"{]}");
  • true: isValid(@"{(dad)[3223]}");

相关文章

  • 检查括号有效性

    true: isValid(@"{[]}"); true: isValid(@"{[([{({})}])]}");...

  • 32. 最长有效括号

    自己解法 看到这题的第一想法就是他喵的括号又见括号,之前括号有效性的精髓就是左括号个数要大于右括号个数,所以第一想...

  • 括号匹配

    检查一段C语言代码的小括号( )、 中括号 [ ] 和大括号{ } 是否匹配。

  • web.xml配置详解

    1. XML文档有效性检查 这段代码指定文件类型定义(DTD),可以通过它检查XML文档的有效性。下面显示的

  • 验证括号闭合有效性

  • chap3-栈和队列

    括号匹配问题 // 括号匹配,遇到 '\0' 结束// 遇到花、中、圆左括号进栈,遇到花、中、圆右括号检查栈顶元素...

  • 3. 一些算法问题

    1. 括号匹配问题 算法:括号匹配问题 - 简书 C程序括号匹配检查 - Jason ZHANG的博客 - CSD...

  • 实现一个自己的栈(MyStack),表达式括号匹配检查及运算

    自己的栈MyStack,使用泛型参数: 表达式括号匹配检查 题目:检查表达式中的括号是否匹配(表达式中可能有...

  • 检查参数的有效性

    前段时间,负责帮忙测试了一些接口。于是乎用postman测试,但是测试过程中出现了错误,返回的结果只是显示500状...

  • swift-控制流

    if语句 不需要将正在检查的表达式放到括号内。 所有if语句的主体都要放在大括号内。 判断optional类型中是...

网友评论

      本文标题:检查括号有效性

      本文链接:https://www.haomeiwen.com/subject/oyhkfltx.html