+
/ \
1 *
/ \
5 6

这样的。要返回1+(5*6)

struct TreeNode
{TreeNode * left, *right;string val;TreeNode(string i) :val(i), left(NULL), right(NULL){}
};bool IsOperator(const string & c)
{if (c.length() > 1 || (c[0] >= '0' && c[0] <= '9')){return false;}return true;
}string ExpressionTreeToString(TreeNode * node)
{if (node == NULL)return "";string ret = node->val;if (IsOperator(node->val)){if (node->left){if (IsOperator(node->left->val)){ret.insert(0, "(" + ExpressionTreeToString(node->left) + ")");}else{ret.insert(0, ExpressionTreeToString(node->left));}}if (node->right){if (IsOperator(node->right->val)){ret += "(" + ExpressionTreeToString(node->right) + ")";}else{ret += ExpressionTreeToString(node->right);}}}return ret;
}

转载于:https://www.cnblogs.com/jobfindingnotes/p/4116629.html

expression tree to string相关推荐

  1. Expression Tree 上手指南 (二)

    上回我们说到Expression Tree是一种表示编程语言中"表达式"概念的树状数据结构,并且学习了从Lambda表达式自动生成表达式树的C#语法.那么它到底有什么用呢?其实上一 ...

  2. 反射,Expression Tree,IL Emit 属性操作对比

    .net的反射(Reflection) 是.Net中获取运行时类型信息的一种方法,通过反射编码的方式可以获得 程序集,模块,类型,元数据等信息. 反射的优点在于微软提供的API调用简单,使用方便: 表 ...

  3. [转]打造自己的LINQ Provider(上):Expression Tree揭秘

    概述 在.NET Framework 3.5中提供了LINQ 支持后,LINQ就以其强大而优雅的编程方式赢得了开发人员的喜爱,而各种LINQ Provider更是满天飞,如LINQ to NHiber ...

  4. NET(C#):使用Expression Tree构建带有参数、本地变量和返回值的Lambda

    .NET(C#):使用Expression Tree构建带有参数.本地变量和返回值的Lambda 对于参数,需要使用Expression.Parameter创建ParameterExpression对 ...

  5. 快速上手Expression Tree(一):做一做装配脑袋的Expression Tree 习题

    装配脑袋的习题在这里:Expression Tree上手指南 (一) 不了解Expression Tree的同学可以去看下,很好,很强大. 1: -a 2: a + b * 2 我把这些问题都弄成了方 ...

  6. 三种属性操作性能比较:PropertyInfo + Expression Tree + Delegate.CreateDelegate

    在<上篇>中,我比较了三种属性操作的性能:直接操作,单纯通过PropertyInfo反射和IL Emit.本篇继续讨论这个话题,我们再引入另外两种额外的属性操作方式:Expression ...

  7. 一起谈.NET技术,关于Expression Tree和IL Emit的所谓的quot;性能差别quot;

    昨天写了<三种属性操作性能比较>,有个网友写信问我一个问题:从性能上看,Expression Tree和IL Emit孰优孰劣?虽然我在回信中作了简单的回答,但不知道这个网友是否懂我的意思 ...

  8. Leetcode 1628. Design an Expression Tree With Evaluate Function [Python]

    System Design.使用stack存入数字,当遇到操作符号时,弹出stack中的数字.先出的为right,后出为left.完成操作后再压入stack.操作过程写在tree的evaluate函数 ...

  9. 表达式树(EXPRESSION TREE)

    表达式树是不可执行的代码,它只是用于表示一种树状的数据结构,树上的每一个节点都表示为某种表达式类型,大概有25种表达式类型,它们都派生自Expression类.创建表达式树具体有两个优势: 1.对表达 ...

最新文章

  1. jdk1.8和tomcat9.0、maven3.5.0配置教程
  2. centerOs-6.8的安装
  3. [android] 新闻客户端实现左侧导航点击切换
  4. DataFountain训练赛 | 用户逾期行为预测
  5. linux系统下deepin eclipse不能显示源码报class File Editor Source not found
  6. ubuntu 安装截图工具 Shutter,并设置快捷键 Ctrl+Alt+A
  7. webviewjavascriptbridge android ios,js与ios交互使用WebViewJavascriptBridge如何写多个函数
  8. LiveNVR高性能稳定RTSP、Onvif探测流媒体服务配置通道接入海康、大华等摄像机进行全终端无插件直播...
  9. jquery 处理json字符串
  10. 力扣题目系列:1370. 上升下降字符串(Python题解)
  11. Linux的操作系统原理详解
  12. .dmg文件转.iso的工具:dmg2img
  13. 小白必看:合理搭建巨量引擎账户结构要点总结!
  14. 重启数据库服务器后数据库无法连接的解决方法
  15. 群环域,理想商环,原根复习
  16. ArcGIS 30mDEM数据空洞填补
  17. 微信小程序开发中调用button组件添加微信客服功能
  18. [ANT]apache ant 安装说明
  19. 关于latex简历几个非常有用的命令
  20. LC低通滤波器的截止频率与LC谐振频率的关系

热门文章

  1. CString::Format
  2. Linux下自动检测USB热插拔
  3. Java静态内部类、匿名内部类、成员式内部类和局部内部类
  4. 【译】Why Decentralized AI Matters Part II: Technological Enablers
  5. Android N混合编译与对热补丁影响深度解析
  6. Android Broadcast Security
  7. 内核 kmap_atomic分析
  8. 两点之间的连线java_java计算图两点之间的路径实例代码
  9. redis 主从模式_Redis主从模式部署文档
  10. 双系统格盘后因grub无法进入xp系统问题,将linux所在分区格后启动停在grub。。。无法进入系统