In this problem, a tree is an undirected graph that is connected and has no cycles.
You are given a graph that started as a tree with
n nodes labeled from
n, with one additional edge added. The added edge has two different vertices chosen from
n, and was not an edge that already existed. The graph is represented as an array
edges of length
edges[i] = [ai, bi] indicates that there is an edge between nodes
bi in the graph.
Return an edge that can be removed so that the resulting graph is a tree of
n nodes. If there are multiple answers, return the answer that occurs last in the input.
Input: edges = [[1,2],[1,3],[2,3]] Output: [2,3]
Input: edges = [[1,2],[2,3],[3,4],[1,4],[1,5]] Output: [1,4]
n == edges.length
3 <= n <= 1000
edges[i].length == 2
1 <= ai < bi <= edges.length
ai != bi