要从表达式构造树,请假装您直接对它求值,但构造树而不是计算数字。(此技巧比后缀表达式有用得多。)
算法: 有一个堆栈来存储中间值(即树),并从左到右检查每个令牌:
- 如果是数字,则将其变成叶子节点,然后将其压入堆栈。
- 如果是运算符,请从堆栈中d出两个项目,使用这些子元素构造一个运算符节点,然后将新节点压入堆栈。
最后,如果表达式的格式正确,那么堆栈上应该恰好有一棵树,即树形式的整个表达式。
欢迎分享,转载请注明来源:内存溢出
要从表达式构造树,请假装您直接对它求值,但构造树而不是计算数字。(此技巧比后缀表达式有用得多。)
算法: 有一个堆栈来存储中间值(即树),并从左到右检查每个令牌:
最后,如果表达式的格式正确,那么堆栈上应该恰好有一棵树,即树形式的整个表达式。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)