给你一个排序后的字符列表 letters ,列表中只包含小写英文字母。另给出一个目标字母 target,请你寻找在这一有序列表里比目标字母大的最小字母。
在比较时,字母是依序循环出现的。举个例子:
如果目标字母 target = 'z' 并且字符列表为 letters = ['a', 'b'],则答案返回 'a'
class Solution {
public char nextGreatestLetter(char[] letters, char target) {
int min=27;
char mid=letters[0];
for(int i=0;i<letters.length;i++){
if(letters[i]-target>0 && letters[i]-target<min){
min=target-letters[i];
mid=letters[i];
}
}
return mid;
}
}
这里又些许取巧。因为每次的案例输入都是按顺序的。所以当字符数组中没有比预期字符大的值时,数组的第一个就是答案。