Eulerian path existence

Write codeMedium25 min

Your task

Given an undirected graph with n nodes (0..n-1) and edges [u, v], determine whether an Eulerian path exists: a walk that uses every edge exactly once. Return True or False. Isolated nodes (degree 0) are ignored for connectivity; a graph with no edges trivially has one. Constraints: 1 <= n <= 2000; parallel edges allowed.

Examples

has_eulerian_path_undirected(n: int, edges: list[list[int]]) -> bool
Example 1
Inputhas_eulerian_path_undirected(3, [[0, 1], [1, 2]])
OutputTrue