请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

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

老师你好:看你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回答

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


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


继续加油!:)

0 回复 有任何疑惑可以回复我~
  • 提问者 王小强blues #1
    老师你好:我的意思是如果“(” “)”匹配上,就应该break switch 块了,相对于您的代码是条件不满足的情况,这样就不用再去判断后面两个if 了哦。。。。:)
    回复 有任何疑惑可以回复我~ 2019-10-26 23:57:19
  • liuyubobobo 回复 提问者 王小强blues #2
    哦哦哦,我理解了。嗯嗯,你是对的,这就是 switch 比 if else if 效率高的地方:)继续加油!
    回复 有任何疑惑可以回复我~ 2019-10-27 02:44:43
  • 提问者 王小强blues #3
    非常感谢!
    回复 有任何疑惑可以回复我~ 2019-10-27 10:22:46
问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号