// Path from s to v func (dfp *DepthFirstPaths) PathTo(v int) []int { if !dfp.HasPathTo(v) { return []int{} } path := collections.Stack{} for x := v; x != dfp.s; x = dfp.edgeTo[x] { path.Push(x) } path.Push(dfp.s) return path.ConvertToInt() }