Full Euler tour creates sequence where each node appears multiple times. Between the first occurrence of and first occurrence of , the node with minimum depth is their LCA. Build array depth[i] = depth of node at position in tour.
Build RMQ structure (segment tree or sparse table) on . For LCA query: find positions first[u] and first[v] in tour, query RMQ on range between them, return the node at the position with minimum depth.