1. 程式人生 > >Leetcode744.Find Smallest Letter Greater Than Target尋找比目標字母大的最小字母

Leetcode744.Find Smallest Letter Greater Than Target尋找比目標字母大的最小字母

給定一個只包含小寫字母的有序陣列letters 和一個目標字母 target,尋找有序數組裡面比目標字母大的最小字母。

數組裡字母的順序是迴圈的。舉個例子,如果目標字母target = 'z' 並且有序陣列為 letters = ['a', 'b'],則答案返回 'a'。

示例:

輸入: letters = ["c", "f", "j"] target = "a" 輸出: "c" 輸入: letters = ["c", "f", "j"] target = "c" 輸出: "f" 輸入: letters = ["c", "f", "j"] target = "d" 輸出: "f" 輸入: letters = ["c", "f", "j"] target = "g" 輸出: "j" 輸入: letters = ["c", "f", "j"] target = "j" 輸出: "c" 輸入: letters = ["c", "f", "j"] target = "k" 輸出: "c"

注:

  1. letters長度範圍在[2, 10000]區間內。
  2. letters 僅由小寫字母組成,最少包含兩個不同的字母。
  3. 目標字母target 是一個小寫字母。

 

class Solution {
public:
    char nextGreatestLetter(vector<char>& letters, char target) {
        int len = letters.size();
        for(int i = 0; i < len; i++)
        {
            if(letters[i] > target)
                return letters[i];
        }
        return letters[0];
    }
};