python 中缀表达式转换成前缀表达式

  • 将表达式转换成列表
  • 建立两个列表,一个存放操作符(stackOpt),一个存放已经遍历过得字符(stackPut)
    *使用右向左遍历temp,if temp == ‘)’,则temp加入操作符栈stackOpt,if temp == 数字,则temp加入stackPut;
  • if temp == 左括号'(’,则从循环从操作符栈stackOpt弹出操作符并加入stackPut,直到弹出右括号'')";右括号不加入stackOpt;
  • if temp in [+、-、*、],若stackOpt的栈顶为操作符,且运算优先级高于此时temp,则将stackOpt的栈顶元素弹出加入stackPut,否则,将temp加入stackPut
  • 遍历结束后,将stackPut逆序输出,即为前缀表达式。
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容