Advertisement
LikeRampage

C++ leetcode 332. Reconstruct Itinerary chatgpt unlimited

Apr 22nd, 2024 (edited)
25
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.13 KB | None | 0 0
  1. #include <vector>
  2. #include <string>
  3. #include <unordered_map>
  4. #include <queue>
  5.  
  6. class Solution {
  7. public:
  8. std::vector<std::string> findItinerary(std::vector<std::vector<std::string>>& tickets) {
  9. std::unordered_map<std::string, std::priority_queue<std::string, std::vector<std::string>, std::greater<std::string>>> graph;
  10. std::vector<std::string> itinerary;
  11.  
  12. for (const auto& ticket : tickets) {
  13. graph[ticket[0]].push(ticket[1]);
  14. }
  15.  
  16. visitAirport("JFK", graph, itinerary);
  17.  
  18. std::reverse(itinerary.begin(), itinerary.end());
  19.  
  20. return itinerary;
  21. }
  22.  
  23. void visitAirport(const std::string& airport, std::unordered_map<std::string, std::priority_queue<std::string, std::vector<std::string>, std::greater<std::string>>>& graph, std::vector<std::string>& itinerary) {
  24. while (!graph[airport].empty()) {
  25. std::string nextAirport = graph[airport].top();
  26. graph[airport].pop();
  27. visitAirport(nextAirport, graph, itinerary);
  28. }
  29.  
  30. itinerary.push_back(airport);
  31. }
  32. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement