332. Reconstruct Itinerary

class Solution {
public:
    vector<string> findItinerary(vector<pair<string, string>> tickets) {
        for (auto t : tickets) {
            target[t.first].insert(t.second);
        }
        visit("JFK");
        return vector<string>(res.rbegin(), res.rend());
    }
private:
    map<string, multiset<string>> target;
    vector<string> res;
    void visit(string s) {
        while (target[s].size()) {
            string t = *target[s].begin();
            target[s].erase(target[s].begin());
            visit(t);
        }
        res.push_back(s);
    }
};

results matching ""

    No results matching ""