The graph is undirected and connected. You need to find all bridges using Tarjan's algorithm. Run DFS, compute disc[v] and low[v] for each vertex, check each tree edge for the condition low[v] > disc[u].
If true, it is a bridge. Time complexity: . Space complexity: for the DFS stack and arrays. This is the best solution because you must examine every edge at least once.