树节点的第k个祖先
编号:0031
试题来源:leetcode
my blog:Something
试题描述
给定一棵树,树上有n
个节点,按照从0
到n-1
进行编号。树以父节点数组的形式给出,其中parent[i]
是节点i
的父节点。树的根节点是编号为0的节点。其中parent[0]=-1
表示其没有父节点。
请设计并实现getKthAncestor(int node, int k)
函数,返回值为节点node
的第k
个祖先节点。若不存在,则返回-1
。
树节点的第k
个祖先节点是从该节点到根节点路径上的第k
个节点。
限制:
- 1 ≤ k ≤ n ≤ 5 ∗ 1 0 4 1\leq k\leq n\leq 5*10^4 1≤k≤n≤5∗104
- parent[0]==-1表示编号为0的节点是根节点
- 对于所有的 0 < i < n 0<i<n 0<i<n, 0 ≤ p a r e n t [ i ] < n 0\leq parent[i] <n 0≤parent[i]<