I came across this problem that has Ternary expression (a?b:c) and needs the ternary expression to be converted into a Binary tree structure.
a?b:c
a
/ \
b c
a?b?c:d:e
a
/ \
b e
/ \
c d
public TreeNode convertToBT (char[] values) { TreeNode root = new TreeNode(values[0]); TreeNode n = root; Stack<TreeNode> a = new Stack<TreeNode>(); for (int i = 1; i < values.length; i += 2) { if (values[i] == '?') { n.left = new TreeNode (values[i + 1]); a.add(n); n = n.left; } else if (values[i] == ':') { n = a.pop(); while (n.right != null) { n = a.pop(); } n.right = new TreeNode (values[i + 1]); a.add(n); n = n.right; } } return root; }
Reference:
相关推荐
仅供学习参考,GEMS-Active X Register GEMS-Active X Register 罗克韦尔PLC工艺包Active X
Lua Programming Gems - Luiz Henrique de Figueiredo.zip
资源来自pypi官网。 资源全名:blaseball-game-gems-0.3.0.tar.gz
介绍如何在ubuntu中安装Simics-GEMS
Gpu Gems 系列是NVIDIA公司出版的,NVIDIA作为全球一流GPU制造商,其撰写的书籍对一线研发人员具有很高的指导价值。
gems+simics可以模拟sparc处理器的多核功能
官方版本,亲测可用
官方版本,亲测可用
jar包,亲测可用
jar包,亲测可用
安装可以通过npm安装homebridge-gems-bulb。 $ sudo npm install -g homebridge-gems-bulb --unsafe-perm组态您首先需要找到灯泡的MAC地址。 每个指示灯将具有唯一的MAC地址,并且可能具有唯一的名称。 灯泡必须与...
GPU-GEMS-3D-流体模拟该项目基于GPU Gems 3D流体仿真文章。 本文介绍了一种用于计算和渲染3D流体模拟的方法。 设计用于渲染的方法是为了将流体模拟最好地集成到场景中,并使它与其他场景组件进行交互。 但是,我使用...
GEMS-TAB.github.io:网站
GEMS-Synth:混合生成合成器
the-ultimate-guide-to-ruby-timeouts, 流行 ruby Gems的超时 ruby-超时的终极指南没有反应的服务可能比向下的服务更差。 如果不正确处理,它可以捆绑整个系统。 所有网络请求超时。 下面是为流行 ruby Gems 添加...
GPU Gems 1-3 htm格式 高清 文字版
概述gems-bayesian 是一个用于贝叶斯概率过滤器的 C# 库,可用于将文本分类为好或坏的集合。什么是贝叶斯过滤? 贝叶斯过滤是一种流行的统计技术,用于过滤电子邮件以检测垃圾邮件。 如果您将一组电子邮件分成两个...
Game Engine Gems 1-Print