LeetCode 744 寻找比目标字母大的最小字母(JAVA)

LeetCode 744 寻找比目标字母大的最小字母(JAVA)_第1张图片

class Solution {
    public char nextGreatestLetter(char[] letters, char target) {
        // 二分查找
        int len = letters.length;
        int left = 0;
        int right = len - 1;
        // 判断特例
        if (target < letters[0] || target > letters[len - 1])
            return letters[0];
        // 套用模板
        while (left <= right) {
            int mid = left + ((right - left) >> 1);
            if (target >= letters[mid])
                left = mid + 1;
            else
                right = mid - 1;
        }
        return letters[left % len];
    }
}

你可能感兴趣的:(LeetCode刷题系列,#二分查找)