#10291. 二叉树的节点遍历
二叉树的节点遍历
题目 2:二叉树的节点遍历
问题描述:
给定一个深度为 depth
的二叉树,每个节点编号从 1
到 ( 2^depth - 1)。你从根节点开始进行 k
次深度优先遍历。每次遍历时,根据以下规则更新树的节点状态:
- 如果当前节点未被访问过,则向左子节点(编号为
2 * 当前节点编号
)递归。 - 如果当前节点已经被访问过,则转向右子节点(编号为
2 * 当前节点编号 + 1
)。
请计算并输出 k
次遍历结束后,最后一次访问的节点编号。
输入格式:
- 输入两个整数
depth
和k
(( 1 <=depth<=20 ),1 <= k <= 10^5 )),表示树的深度和 DFS 执行的次数。
输出格式:
- 输出最终的节点编号
ans
,即执行k
次 DFS 后的最后一个访问节点。
示例 1:
输入:
5 4
输出:
18
示例 2:
输入:
4 5
输出:
14