leetcode 每日一题 2021/10/ 1 1436 旅行终点站
解题思路:
需要寻找本次旅行的终点。一个二维数组,每个一维数组只有起点和终点。
终点满足两个条件:
(1)在二维数组中只出现过一次。
(2)出现的位置在arr[1],第二列;
那么我们只需要统计出每个字符串出现的次数,并根据字符串所在的列,加上不同的权重就行。
```cpp
```cpp
## 代码:
```c++
class Solution {
public:
string destCity(vector<vector<string>>& paths) {
map<string,int> s_map;
string s="";
for(int i=0;i<paths.size();i++){
s_map[paths[i][0]]=4;//第一列权重加4
s_map[paths[i][1]]++;//第二列权重加1
}
while(!s_map.empty()){
map<string,int>::iterator it = s_map.begin();
if(it->second == 1){ //权重为1的就是终点。
s = it->first;
break;
}
s_map.erase(it);
}
return s;
}
};
## 其他:
map::empty() 判断map是否为空 是返回ture