当前位置:网站首页>2309. 兼具大小写的最好英文字母

2309. 兼具大小写的最好英文字母

2022-07-05 08:57:00 紫菜(Nori)

思路: 

1.使用固定长度的数组,存储大小写字母是否出现;

2.倒序遍历,从字母大的开始遍历,直到找到结果;

class Solution {
public:
    string greatestLetter(string s) {
      // 小写
      vector<int> auxUpper(26, 0);
      
      // 大写
      vector<int> auxLower(26, 0);

      // 遍历字符串s,记录其中的大小写字母
      for(auto ch : s){
        if(ch >= 'A' && ch <= 'Z'){
          // upper letter
          auxUpper[(int)(ch - 'A')] = 1;
        }else{
          // lower letter
          auxLower[(int)(ch - 'a')] = 1;
        }    
      } 

      // 倒序遍历找到第一个大小写都存在的字母
      for(int i = 25; i >= 0; i--){
        if(auxUpper[i] == 1 && auxLower[i] == 1){
          return string(1, (char)(i + 'A'));
        }
      }
      
      return "";
    }
};

原网站

版权声明
本文为[紫菜(Nori)]所创,转载请带上原文链接,感谢
https://blog.csdn.net/qq_36790074/article/details/125588837