Skip to main content

面试题17.11. 单词距离

思路

看题可以知,要找两个单词的最短距离,可以想到使用双指针,只要分别先找到目标词的位置,比较之间的距离即可,类似暴力做法。

代码

class Solution {
public:
int findClosest(vector<string>& words, string word1, string word2) {
int mindist = 0x3f3f3f3f;
int p1, p2;
for (int i = 0; i < words.size(); i++) {
if (words[i] == word1) p1 = i;
if (words[i] == word2) p2 = i;
if (p1 > 0 && p2 > 0) mindist = min(mindist, abs(p1 - p2));

}
return mindist;
}
};