本题和以往求LCA的题目不同。以往的LCA只需要求得LCA的节点本身,而这道题需要设计到路径打印。因此我们就老老实实地用递归的方法,把从root到q或者q的路径先记录出来,然后再比较得到LCA的位置。
此题中我们需要记录从root到p(或者q)一路上的操作(L或者R)。假设两条路径dirs1和dirs2在第k个节点位置分叉(也就是LCA的位置)。根据题意,我们就将dirs1[k:]全部搞成“U”(因为从p到LCA一路都是up),再拼接上dirs2[k:]这段路径即可。
Name | Name | Last commit date | ||
---|---|---|---|---|
parent directory.. | ||||
本题和以往求LCA的题目不同。以往的LCA只需要求得LCA的节点本身,而这道题需要设计到路径打印。因此我们就老老实实地用递归的方法,把从root到q或者q的路径先记录出来,然后再比较得到LCA的位置。
此题中我们需要记录从root到p(或者q)一路上的操作(L或者R)。假设两条路径dirs1和dirs2在第k个节点位置分叉(也就是LCA的位置)。根据题意,我们就将dirs1[k:]全部搞成“U”(因为从p到LCA一路都是up),再拼接上dirs2[k:]这段路径即可。