Shortest Path Visiting All Nodes - Problem
You have an undirected, connected graph of n nodes labeled from 0 to n - 1. You are given an array graph where graph[i] is a list of all the nodes connected with node i by an edge.
Return the length of the shortest path that visits every node. You may start and stop at any node, you may revisit nodes multiple times, and you may reuse edges.
Input & Output
Example 1 — Star Graph
$
Input:
graph = [[1,2,3],[0],[0],[0]]
›
Output:
4
💡 Note:
One shortest path: start at node 0, visit 0→1→0→2→0→3 (path length 4). All nodes are visited.
Example 2 — Linear Graph
$
Input:
graph = [[1],[0,2],[1]]
›
Output:
2
💡 Note:
Shortest path: 0→1→2 or 2→1→0 (path length 2). Visits all 3 nodes.
Example 3 — Single Node
$
Input:
graph = [[]]
›
Output:
0
💡 Note:
Only one node exists, so path length is 0 (already visited all nodes).
Constraints
- n == graph.length
- 1 ≤ n ≤ 12
- 0 ≤ graph[i].length < n
- graph[i] does not contain i
- If graph[a] contains b, then graph[b] contains a
- The input graph is always connected
Visualization
Tap to expand
💡
Explanation
AI Ready
💡 Suggestion
Tab
to accept
Esc
to dismiss
// Output will appear here after running code