input: Write a python function to find the best route in a graph.
  assert findBestRoute({'A': ['B', 'C', 'D'], 'B': ['A', 'C', 'E'], 'C': ['A', 'B', 'D', 'E'], 'D': ['A', 'C'], 'E': ['B', 'C']})!=[]
  assert findBestRoute({'A': ['B', 'C'], 'B': ['A'], 'C': ['A']})!=[]
  assert findBestRoute({'A': ['B'], 'B': ['A', 'C'], 'C': ['B']})!=[]
output: def findBestRoute(graph):
      def dfs(node, visited):
          if len(visited) == len(graph):
              return visited
          for neighbor in graph[node]:
              if neighbor not in visited:
                  result = dfs(neighbor, visited + [neighbor])
                  if result:
                      return result
          return None
      
      for start_node in graph:
          route = dfs(start_node, [start_node])
          if route:
              return route
      return []