public class Solution
    {
        public char NextGreatestLetter(char[] letters, char target)
        {
            //a-97  z-122
            var dic = new List<KeyValuePair<char, char>>();
            //key存储当前值,int是下一个值
            for (int i = 0; i < letters.Length - 1; i++)
            {
                dic.Add(new KeyValuePair<char, char>(letters[i], letters[i + 1]));
            }
            dic.Add(new KeyValuePair<char, char>(letters[letters.Length - 1], ' '));

            if (target < dic[0].Key || target >= dic[dic.Count - 1].Key)
            {
                return dic[0].Key;
            }

            for (int i = 0; i < dic.Count; i++)
            {                
                if (target >= dic[i].Key && target < dic[i].Value)
                {
                    return dic[i].Value;
                }
            }

            return dic[0].Key;
        }
    }

 

posted on 2018-10-01 08:36  Sempron2800+  阅读(120)  评论(0编辑  收藏  举报