
Go 解决方案
func nextGreatestLetter(letters []byte, target byte) byte {
left, right := 0, len(letters) - 1
if target >= letters[right] {
return letters[0]
}
for ; left < right; {
mid := (right - left) / 2 + left
if letters[mid] > target {
right = mid
} else {
left = mid + 1
}
}
return letters[left]
}