LeetCode 第 25 场双周赛 5386. 检查一个字符串是否可以打破另一个字符串

题目链接

在这里插入图片描述

  • 个人觉得这题算是Easy难度的,因为判断条件太直白了,当时的思路就是按字典序排分别找到s1和s2的最大值,然后进行一下比较就完事了。
    代码如下:
class Solution {
    
    
public:
    bool checkIfCanBreak(string s1, string s2) {
    
    
        vector<char> a(s1.size()),b(s1.size());
        bool flag1=true,flag2=true;
        for(int i=0;i<s1.size();i++)
        {
    
    
            a.push_back(s1[i]);
            b.push_back(s2[i]);
        }
        sort(a.begin(), a.end(), greater<char>());
        sort(b.begin(), b.end(), greater<char>());
       for(int i=0;i<s1.size();i++)
        {
    
    
           if(!(a[i]>=b[i]))
           {
    
    
               flag1=false;
               break;
           }
        }
        for(int i=0;i<s1.size();i++)
        {
    
    
           if(!(b[i]>=a[i]))
           {
    
    
               flag2=false;
               break;
           }
        }
        if(!flag1&&!flag2)
            return false;
        else
            return true;
        
    }
};

猜你喜欢

转载自blog.csdn.net/qq_43663263/article/details/105902809