前一阵的测试题目中有一道题是在一个二叉树中有若干个小球从根节点处下落,然后看的学霸一脸蒙蔽。最后发现这东西完全可以用一维数组处理。。。
哈哈哈哈哈~ 请忽略博主的智商,题目如下:
有一棵二叉树,最大深度为D,且所有叶子得深度都相同。所有结点从上到下从左到右编号为1,2,3,……,2D-1(pow(2,D)-1)。在结点1处放一个小球,它会往下落。每个内结点上都有一个开关,初始全部关闭,当每次有小球落到一个开关上时,它得状态都会改变。当小球达到一个内节点时,如果该结点上得开关关闭,则往左走,否则往右走,直到走到叶子结点,如图所示。
一个小球从结点1处依次开始下落,最后一个小球将会落到哪里?
输入:
输入叶子深度D和小球个数I,当全为0时结束。
输出:
输出第I个小球最后所在得叶子编号。假设I不超过整棵树的叶子个数。D<=20。输入最多包含1000组数据。
input:
4 2