1104. 二叉树寻路
第一时间想的是构造二叉树,然后利用每层对称的关系 ,求出父节点
1 | var pathInZigZagTree = function(label) { |
很遗憾,超时了。
受到答案的启发,既然是对称的,同层数时,对称的数之和相同。
一层的首项为 2^ n ,末项是 2^(n + 1) - 1 可的对称数 2^ n + 2^(n + 1) - 1 - x
即
( 1 << row ) + ( 1 << (row + 1) ) - 1 - label;
查找的末位一定是1,可做while 的结束
1 | var pathInZigZagTree = function(label) { |