function dfs(graph, start, target) {
let stack = [start];
let visited = new Set();
while (stack.length > 0) {
let node = stack.pop();
if (node === target) return true; // 找到目标
if (!visited.has(node)) {
visited.add(node);
stack.push(...graph[node]);
}
}
}
def dfs(graph, start, target):
stack = [start]
visited = set()
while stack:
node = stack.pop()
if node == target: return True # 命中
if node not in visited:
visited.add(node)
stack.extend(graph[node])