code: function findPath(g, postorderNums, v, w) {
    var vPath = [];
    var wPath = [];
    var low = Math.min(postorderNums[v].low, postorderNums[w].low);
    var lim = Math.max(postorderNums[v].lim, postorderNums[w].lim);
    var parent;
    var lca;
  
    // Traverse up from v to find the LCA
    parent = v;
    do {
      parent = g.parent(parent);
      vPath.push(parent);
    } while (parent &&
             (postorderNums[parent].low > low || lim > postorderNums[parent].lim));
    lca = parent;
  
    // Traverse from w to LCA
    parent = w;
    while ((parent = g.parent(parent)) !== lca) {
      wPath.push(parent);
    }
  
    return { path: vPath.concat(wPath.reverse()), lca: lca };
  }
docs: Find a path from v to w through the lowest common ancestor (LCA). Return the full path and the LCA.