二叉树实现加减乘除

 我来答
黑科技1718
2022-06-28 · TA获得超过5878个赞
知道小有建树答主
回答量:433
采纳率:97%
帮助的人:82万
展开全部

具体步骤如下:

对于正负号,发现正负号一般在数字的前面,根据递归规律,可以发现,一般正负号在字符串的第一位,后面跟着数字,由此可以将正负号当作是对其后面的数字的取值操作

(1)树结点

(2)checkBrackets(char input, int l, int r)
检查左右两边的括号是否为同一对,同一对则可以移除 例如:(2 + 4)
(3 - 1) 是不可以去掉最左边跟最右边的括号的。若为同一对,返回true,否则返回false

(3)findNode(char *input, int l, int r)
寻找下标为l~r的字符串中的优先级最低的运算符

(4)Tree *buildTrees(char *input, int l, int r)
根据表达式创建二叉树

(5)preOrder(Tree *tree)
根据后序遍历计算表达式结果

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式