文件系统和数据库系统一般都采用树的数据结构数据,主要为排序和检索的效率。
STL的set/map底层都是用树实现的,因此了解树的结构对我们掌握STL 相关容器的实现有很大的帮助。
二叉树是比较基本的一种树,其每个节点最多只允许存在2个节点,现给定一个二叉树如下, 求找到树最下一层的最左的左节点的值
已知树的每一行都由一个数字代表其节点值,以空格分割,该树的节点值都大于0, 如果该行右边存在节点,则不存在的节点则用0进行表示, 第1行表示第2行需要解析的数字数目,第2行是一串数字表示一个树,例如输入
14
1 0 3 0 0 6 4 0 0 0 0 0 5 7
输入有2行, 第1行是一个数字表示第2行需要解析的数字数目
第2行是一串数字表示一个树
输出
树最下一层的最左的左节点的值,如果最下一层没有左节点,则输出上一层的最左的左节点,如果所有层都不存在左节点,则输出根节点,例如上面题目描述的树如果节点7没有,则输出6
样例输入 Copy
14 1 0 3 0 0 6 4 0 0 0 0 0 5 7
样例输出 Copy
7
提示
如题目描述,该树总共有3层,最下一层的左节点值只有7(5是右节点),因此其就是最左的左节点
var arr = [];
var firstLineNum = 0;
function trrOfLeft(line) {
var left = 0;
var deep = 0;//层数 (2^n)-1 = 总
if(firstLineNum === 0) {