mirror of
https://github.com/youngyangyang04/leetcode-master.git
synced 2025-07-12 05:20:59 +08:00
Merge pull request #2 from zhicheng-lee/zhicheng-lee-patch-1
0332.重新安排行程 添加Java代码
This commit is contained in:
@ -261,6 +261,43 @@ for (pair<string, int>target : targets[result[result.size() - 1]])
|
|||||||
## 其他语言版本
|
## 其他语言版本
|
||||||
|
|
||||||
### java
|
### java
|
||||||
|
|
||||||
|
```java
|
||||||
|
class Solution {
|
||||||
|
private LinkedList<String> res;
|
||||||
|
private LinkedList<String> path = new LinkedList<>();
|
||||||
|
|
||||||
|
public List<String> findItinerary(List<List<String>> tickets) {
|
||||||
|
Collections.sort(tickets, (a, b) -> a.get(1).compareTo(b.get(1)));
|
||||||
|
path.add("JFK");
|
||||||
|
boolean[] used = new boolean[tickets.size()];
|
||||||
|
backTracking((ArrayList) tickets, used);
|
||||||
|
return res;
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean backTracking(ArrayList<List<String>> tickets, boolean[] used) {
|
||||||
|
if (path.size() == tickets.size() + 1) {
|
||||||
|
res = new LinkedList(path);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
for (int i = 0; i < tickets.size(); i++) {
|
||||||
|
if (!used[i] && tickets.get(i).get(0).equals(path.getLast())) {
|
||||||
|
path.add(tickets.get(i).get(1));
|
||||||
|
used[i] = true;
|
||||||
|
|
||||||
|
if (backTracking(tickets, used)) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
used[i] = false;
|
||||||
|
path.removeLast();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
```java
|
```java
|
||||||
class Solution {
|
class Solution {
|
||||||
|
Reference in New Issue
Block a user