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在罗克韦尔PLC工艺中的应用》 在工业自动化领域,PLC(可编程逻辑控制器)扮演着至关重要的角色,尤其在罗克韦尔自动化系统中,其强大的功能和灵活性使得它广泛应用于各种生产线和...
在标题“gems-release-2.0”中,我们看到的是GEMS的一个特定版本——2.0,这代表了该软件的一次重大更新,可能包含了性能提升、新功能的添加以及对已有功能的优化。 Simics是一款由Intel开发的全系统仿真平台,它...
### GEMS-Simics在Ubuntu中的安装指南 #### 一、引言 本文档由Aleksandar Vitorovic编写,旨在为用户介绍如何在Ubuntu 7.10 x86环境中安装并熟悉GEMS/Simics环境。文档强调了其非官方性质,并指出它作为用户贡献...
标题中的“PyPI 官网下载 | blaseball-game-gems-0.3.0.tar.gz”表明这是一个从Python Package Index(PyPI)官方源下载的压缩包,名为"blaseball-game-gems",版本号为0.3.0,格式为tar.gz。PyPI是Python社区广泛...
《GPU Gems 2》是NVIDIA公司推出的一本关于图形处理器(GPU)技术的专业书籍,其在图形计算领域具有极高的权威性和指导性。这本书旨在深入探讨GPU的潜力,为游戏开发、影视特效、科学研究等多个领域的专业人士提供...
官方版本,亲测可用
官方版本,亲测可用
《Lua Programming Gems》是由Luiz Henrique de Figueiredo编著的一本关于Lua编程语言的精华集,这本书深入探讨了Lua的各个方面,是学习和理解Lua编程的宝贵资源。Lua是一种轻量级、高性能、小巧且易于嵌入的脚本...
【GEMS-Synth:混合生成合成器】 GEMS-Synth 是一个创新的音乐制作工具,专为音乐制作人和电子音乐爱好者设计。它融合了多种合成技术,为用户提供了丰富的声音设计可能性。这个混合生成合成器的名字“GEMS”可能...
jar包,亲测可用
jar包,亲测可用
GEMS-TAB.github.io 是一个在GitHub Pages上托管的静态网站。GitHub Pages是GitHub提供的一个服务,允许用户免费托管静态网页,通常用于个人博客、项目展示或者开源软件的文档。这个特定的项目,GEMS-TAB,可能是...
安装可以通过npm安装homebridge-gems-bulb。 $ sudo npm install -g homebridge-gems-bulb --unsafe-perm组态您首先需要找到灯泡的MAC地址。 每个指示灯将具有唯一的MAC地址,并且可能具有唯一的名称。 灯泡必须与...
GPU-GEMS-3D-流体模拟该项目基于GPU Gems 3D流体仿真文章。 本文介绍了一种用于计算和渲染3D流体模拟的方法。 设计用于渲染的方法是为了将流体模拟最好地集成到场景中,并使它与其他场景组件进行交互。 但是,我使用...
the-ultimate-guide-to-ruby-timeouts, 流行 ruby Gems的超时 ruby-超时的终极指南没有反应的服务可能比向下的服务更差。 如果不正确处理,它可以捆绑整个系统。 所有网络请求超时。 下面是为流行 ruby Gems 添加...
标题中的“hello-ruby-gems-happy-birthday”是一个基于Ruby的Gem项目,它的主要功能是祝贺生日。这个Gem的名字“happy-birthday”表明它是一个简单的程序,可以在命令行上运行,用来庆祝生日。 Ruby是一种面向对象...
概述gems-bayesian 是一个用于贝叶斯概率过滤器的 C# 库,可用于将文本分类为好或坏的集合。什么是贝叶斯过滤? 贝叶斯过滤是一种流行的统计技术,用于过滤电子邮件以检测垃圾邮件。 如果您将一组电子邮件分成两个...
《GPU Gems 1-3》是一套集合了GPU编程领域先进技术与实践经验的系列书籍,包含了丰富的图形处理单元(GPU)编程知识。这个压缩包包含了htm格式的高清文字版,适合程序员们在线阅读或离线查阅。标签“GPU Gems1 Gems2...