力扣744. 寻找比目标字母大的最小字母

class Solution {
    public char nextGreatestLetter(char[] letters, char target) {
        //二分查找
        if(letters[0] > target) return letters[0];
        int len = letters.length;
        int l = 0,h= len - 1;
        while(l <= h){
            int m = (l + h)/2;
            if(letters[m] <= target) l = m + 1;
            else{
                h = m -1;
            }
        }
        //找到了
        if(l < len){
            return letters[l];
        }
        //未找到:说明全部小于等于target
        return letters[0];
    }
}

 

posted @ 2020-04-26 23:31  pengxiaowei  阅读(110)  评论(0)    收藏  举报