判断左右括号匹配代码上的优化问题

来源:3-3 栈的另一个应用:括号匹配

王小强blues

2019-10-26

老师你好:看你PPT里的代码,有一个小小的见解。如果第一个左右小括码匹配的话还要进行下一个if 判断,感觉没有意义… 我这样写是不是好一点,如果你同意的话请给我点个赞!!!

   char topChar = stack.pop();
   switch (c) {
       case ')':
           if (topChar == '(') break;
           return false;
       case ']':
           if (topChar == '[') break;
           return false;
       case '}':
           if (topChar == '{') break;
           return false;
       default:
           System.err.println("不是一个合法的右括号...");
   }
写回答

1回答

liuyubobobo

2019-10-26

其实对于我的代码,如果一个 if 匹配上了,因为有 return, 就会直接返回,不会进行下一个 if:)


不过 switch 确实会比 if 效率高些。给你点赞!:)


继续加油!:)

0
3
王小强blues
非常感谢!
2019-10-27
共3条回复

玩转数据结构

动态数组/栈/队列/链表/BST/堆/线段树/Trie/并查集/AVL/红黑树…

6221 学习 · 1704 问题

查看课程