bfs dfs python leetcode