看啥推荐读物
专栏名称: labuladong
算法,编程,致力于把问题讲清楚!
目录
相关文章推荐
今天看啥  ›  专栏  ›  labuladong

如何拆解复杂问题:实现一个计算器

labuladong  · 公众号  ·  · 2020-01-17 07:58
预计阅读时间:9 分钟我记得很多大学数据结构的教材上,在讲栈这种数据结构的时候,应该都会用计算器举例,但是有一说一,讲的真的垃圾,我只感受到被数据结构支配的恐惧,丝毫没有支配数据结构的快感。不知道多少未来的计算机科学家就被这种简单的数据结构劝退了。那么,我们最终要实现的计算器功能如下:1、输入一个字符串,可以包含+ - * / ()、数字、空格,你的算法返回运算结果。2、要符合运算法则,括号的优先级最高,先乘除后加减。3、除号是整数除法,无论正负都向 0 取整(5/2=2,-5/2=-2)。4、可以假定输入的算式一定合法,且计算过程不会出现整型溢出,不会出现除数为 0 的意外情况。比如输入如下字符串,算法会返回 9:3 * (2-6 /(3 -7))可以看 ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照