Given an undirected graph with n nodes and edges, return the number of critical nodes (articulation points) — nodes whose removal increases the number of connected components. The input is JSON {n, edges}.
Input: JSON {n, edges}.
Output: Integer — the count of articulation points.
Input: {"n":5,"edges":[[0,1],[1,2],[2,0],[1,3],[3,4]]}
Output: 2
Explanation: Nodes 1 and 3 are critical.Input: {"n":3,"edges":[[0,1],[1,2],[2,0]]}
Output: 0
Explanation: A cycle has none.Input: {"n":3,"edges":[[0,1],[1,2]]}
Output: 1
Explanation: The middle node is critical.1<=n<=10^5undirected