Given a list of words and two words word1 and word2, return the shortest distance between these two words in the list.
For example,
Assume that words = [“practice”, “makes”, “perfect”, “coding”, “makes”].
Given word1 = “coding”, word2 = “practice”, return 3.
Given word1 = “makes”, word2 = “coding”, return 1.
Note:
You may assume that word1 does not equal to word2, and word1 and word2 are both in the list.
解法1:
思路就是维护两个指针,一个记录上一次出现的word1的位置,另一个记录word2的位置。每次发现一个新位置的时候计算一下当前的距离并且更新最短距离。
C++
Java