查看题目
- 默认起始站为JFK,压入vector
- 查找以vector末端为起始站的pair,找到自然排序最小的,压入vactor,并将此pair从tickets中删除。
- 重复步骤2,直到tickets为空
class Solution {
public:
vector<string> solution;
vector<string> findItinerary(vector<pair<string, string>> tickets) {
solution.reserve(tickets.size());
solution.push_back("JFK");
while (!tickets.empty()) {
int tgt = -1;
for (int i = 0; i < tickets.size(); ++i)
{
if (!tickets[i].first.compare(solution[solution.size()-1])) {
if (tgt == -1) {
tgt = i;
} else if (tickets[tgt].second.compare(tickets[i].second) > 0) {
tgt = i;
}
}
}
solution.push_back(tickets[tgt].second);
tickets.erase(tickets.begin()+tgt);
}
return solution;
}
};